jquery zTree 同步非同步樹結合應用 sping mvc
阿新 • • 發佈:2019-01-08
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 非常的重要 直接決定了 節點前面有沒有那個“加號”
小弟不才 文章寫的不夠好 希望能追上大牛的腳步。