关键代码:
//选择样本模板树
var model_sample_ztree, model_sample_zNode;
var modelsample_setting = {
async: {
enable: true,
url:"admin/sample/modelSampleList",
autoParam:["id","level=lv"]
},
check:{
enable:true,
chkboxType: {"Y":"ps", "N":"ps"}
},
data:{
simpleData : {
enable : true,
idKey : "id", //id编号命名 默认
pIdKey : "pid",//父id编号命名默认
rootPId : 0 //用于修正根节点父节点数据,即 pIdKey 指定的属性值
}
},
callback:{
onAsyncSuccess:zTreeOnAsyncSuccess,//树加载成功时的回调函数
}
};
加载成功的回调函数
/**
* 加载成功的回调函数
* 树第一次加载成功则强制异步加载子节点
* 展开其下面的子节点
*/
function zTreeOnAsyncSuccess(){
//防止数据量过大,延迟加载
setTimeout(function(){
var treeObj = $.fn.zTree.getZTreeObj("ztree_modelsample");
var rootNodes = treeObj.transformToArray(treeObj.getNodes());
//循环判断该节点是否已加载子节点,是则进入下一次循环,否则加载子节点,确保加载子节点只加载一次,若加载多次会影响效率
for(var i=0; i<rootNodes.length; i++){
if(rootNodes[i].zAsync == false)
treeObj.reAsyncChildNodes(rootNodes[i], "refresh",true);
else continue;
}
},1000);
}