今天使用ztree時(shí)候,發(fā)現(xiàn)單獨(dú)給已經(jīng)選中的葉子節(jié)點(diǎn)設(shè)置 open=true,其上級(jí)的父節(jié)點(diǎn)并不會(huì)展開,如圖,有三個(gè)選中的葉子節(jié)點(diǎn),但是大概因?yàn)楦腹?jié)點(diǎn)沒有設(shè)置 open=true,所以沒有展開。

image.png
然后參考百度找到的方案以及查看ztree文檔,找到了一種解決方式,下面是源碼:
var dataTree = $.fn.zTree.init($("#dataTree"), setting, zTreeNodes);
//展開所有選中的子節(jié)點(diǎn)
var nodes = dataTree.getCheckedNodes(true);
for(var i=0; i<nodes.length; i++){
dataTree.expandNode(nodes[i], true, true, true);
dataTree.selectNode(nodes[i]);
}
最后結(jié)果如下:

image.png
參考:
1、ztree 根據(jù)子節(jié)點(diǎn)ID展開所有父節(jié)點(diǎn)
2、ztree官方文檔