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");//重新加载数据