天天看點

EasyUI Tree 動态傳遞參數

1、問題背景

  一般出現在加載的時候,傳遞參數給背景,進行資料篩選,然後在加載tree渲染資料。所謂動态參數,可以是你的上一級節點node,或者是根節點node。

2、涉及方法

  onBeforeLoad(node,param),需要給的參數在這個方法後面指派,比如:

var rootNode = $(this).tree('getRoot',node.target);
param.typeId = rootNode.id;      

  這樣typeId 就作為動态參數,傳遞給了背景,背景擷取typeId這個參數,進行資料篩選以達到目的。

$("#typeTree").tree({
        url: "${basePath}/cascade/cascadePolicyAction_getDataRuleJsonTree.do",
        method: 'get',
        cascadeCheck:true,
        checkbox:false,
        animate:true,
        /* queryParams:{}, */
        loadFilter: function(data){
            if (data.treeNodes){  
                return data.treeNodes;  
            } else {  
                return data;
            }  
        },
        onSelect:function(node){
            if($("#"+node.id).length != 0){
                $("#"+node.id).remove();
            }else{
                var html = '<div id="'+node.id+'" class="card-box shcemeinfocheck active">'
                +'<div class="card-box-content"><p>'+node.text+'</p></div>'
                +'</div>';
                $("#typeDiv").append(html);
            }
            setID(node.id);
        },
        onBeforeLoad:function(node,param){
            param.type = type;
        }
    })      
$("#typeTree").tree("reload");//重新加載資料