jquery zTree 树应用场景非常广,写这个插件的大神真是太牛逼了。。。。。
树节点比较少 就采用同步加载策略 简单粗暴(一次性加载)
树的节点多 就采用异步加载加载策略 优秀的一笔,既能满足需求,有能解决加载慢的问题。
遇到要在页面上加载760000个节点的问题 (大不大? 嗯? 就问你大不大。没看错你没有花眼 ,数一数那是几个0)。
var setting1 = {
view : {
dblClickExpand : false,
showLine : true,
fontCss : {
'color' : 'black'
},
selectedMulti : true
},
check : {
chkStyle : "checkbox",
enable : true,
chkboxType : {
"Y" : "",
"N" : ""
}
},
//异步这样写。。。。拿走不谢
async : {
type : "post",
enable : true,
autoParam :["id" ,"name","level","value"],
//id为树节点的id
//name为树节点的名字
//level树的层级
//value (我自己给树添加的额外隐藏信息,后台业 务要用到)
otherParam:{},
//后台的路径
url : ctx + "/dtfb/query/asyncTreeNode"
},
data : {
simpleData : {
enable : true,
idKey : "id",
pIdKey : "pId",
rootPId : '0'
}
},
callback : {
onCheck : getChangedAddressNode
}
}
异步加载的时候还有这个提示图片
java 代码
for(int i=0;i<areas.size();i++){
StaticArea tmp=areas.get(i);
if(tmp.getAreaId().toString().equals(id)){
continue;
}
maps = new HashMap<>();
maps.put("id",tmp.getAreaId());
maps.put("pId",id);
maps.put("name", tmp.getAreaName());
maps.put("isParent", true);
maps.put("value", tmp.getAreaNo());
mapList.add(maps);
}
isParent 非常的重要 直接决定了 节点前面有没有那个“加号”
小弟不才 文章写的不够好 希望能追上大牛的脚步。