Ztree异步加载时怎么获得刚刚添加到树上的节点

Ztree异步加载时怎么获得刚刚添加到树上的节点,第1张

呵呵,是不是敲字错误闹得? 的确看起来很费解。 大概理解,异步加载每次只加载一级节点,觉得不爽,想全部加载并且展开对吗? 那么我的回答如下: 1、使用了异步加载 又要全部展开这个需求比较矛盾,还不如一次性全部加载后(使用异步加载时也完全可以后台一次性生成全部子孙节点一起加载的),直接全部展开。因为异步加载本来就是为了优化性能,这样的需求异步加载没有什么优势。 2、如果一定要使用,可以利用 onAsyncSuccess 回调在每次异步加载完毕后,利用expandNode 方法将新加载的父节点逐一展开。。这样下去就实现了(在我即将发布的 v3.2 中将会提供这种 *** 作的Demo)

假设我的理解是正确的,按照这个我来讲一下思路:

1、zTree 异步加载功能还是很灵活的,setting.async.url 可以设置为 function,这样完全可以针对节点变更 异步加载的url,以便于你从不同的表生成数据(另一种情况你可以后台使用一个url根据参数来从不同的表获取数据,如果这样的话,那么可以利用 beforeAsync 回调函数,去修改 async 的参数)

2、zTree 默认设置只有点击 +/- 号展开节点时才进行异步加载;如果希望点击节点时就自动展开触发异步加载,那么利用 onClick 回调函数捕捉点击节点的事件,然后判断如果是 父节点(isParent = true)就使用 expandNode 方法展开节点即可。

3、多表查询,有一点请注意,如果使用的是 简单数据模式,那么请对id、pId加上一些标识,以避免不同表的节点数据 id 相同。(如果每次仅仅加载同级节点,那么即使id相同也不会出现问题。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7962394.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存