Ztree异步加载自动展开节点

发布时间:2023-04-14 01:02:21

Ztree的官网Dem",有自动展开的例子,是通过设置节点届性open:true来实现自动展开的,但是在异步加载中,这个届性设置为true也不会自动展开,因为open:true是指在有子节点的情况下展开,在异步加载之前,当前节点是没有子节点的,所以无法打开。异步加载自动展开解决方法如下:1.设置ztree的加载完成的回调函数:setting=(callback:(onAsyncSuccess:zTreeOnAsyncSuccess}};onAsyncSuccess是指加载完成后要调用的方法,其他节点的设置请参考的官网Demo.2.编写方法zTreeOnAsyncSuccessvarfirstAsyncSuccessFlag=0;functionzTreeOnAsyncSuccess(event,treeId,msg(if(firstAsyncSuccessFlag==0(try(//调用默认展开第一个结点varselectedNode=zTree.getSelectedNodes(;varnodes=zTree.getNodes(;zTree.expandNode(nodes[0],true;varchildNodes=zTree.transformToArray(nodes[0];ztree
zTree.expandNode(childNodes[1],true;zTree.selectNode(childNodes[1];varchildNodesl=zTree.transformToArray(childNodes[1];zTree.checkNode(childNodes1[1],true,true;firstAsyncSuccessFlag=1;}catch(err(}}}此方法可以自动加载第一级节点,try{}catch(是为了捕获节点不存在时的异常,这样可以使其不跑出js错误信息。firstAsyncSuccessFlag变量的作用是使tree只在页面初始化后自动展开一次,因为手动点击加号展开子节点的时候也会调用此方法,通过此变量来标识是否自动加载。

Ztree异步加载自动展开节点

相关推荐