Ztree异步加载自动展开节点

时间:2026-01-20

在Ztree的官网Demo中,有自动展开的例子,是通过设置节点属性open:true来实现自动展开的,但是在异步加载中,这个属性设置为true也不会自动展开,因为open:true是指在有子节点的情况下展开,在异步加载之前,当前节点是没有子节点的,所以无法打开。

异步加载自动展开解决方法如下:

1.设置ztree的加载完成的回调函数:

setting = {

......

callback: {

......

onAsyncSuccess: zTreeOnAsyncSuccess

}

};

onAsyncSuccess是指加载完成后要调用的方法,其他节点的设置请参考ztree的官网Demo.

2.编写方法zTreeOnAsyncSuccess

var firstAsyncSuccessFlag = 0;

function zTreeOnAsyncSuccess(event, treeId, msg) {

if (firstAsyncSuccessFlag == 0) {

try {

//调用默认展开第一个结点

var selectedNode = zTree.getSelectedNodes(); var nodes = zTree.getNodes();

zTree.expandNode(nodes[0], true);

var childNodes = zTree.transformToArray(nodes[0]); zTree.expandNode(childNodes[1], true);

zTree.selectNode(childNodes[1]);

var childNodes1 =

zTree.transformToArray(childNodes[1]);

zTree.checkNode(childNodes1[1], true, true); firstAsyncSuccessFlag = 1;

} catch (err) {

}

}

}

此方法可以自动加载第一级节点,try{} catch()是为了捕获节点不存在时的异常,这样可以使其不跑出js错误信息。

firstAsyncSuccessFlag变量的作用是使tree只在页面初始化后自动展开一次,因为手动点击加号展开子节点的时候也会调用此方法,通过此变量来标识是否自动加载。

Ztree异步加载自动展开节点.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219