zTree如何在异步刷新之后选择刷新之前选择的节点

发布于 2021-11-20 04:46:56 字数 437 浏览 897 评论 3

@zTree 你好,想跟你请教个问题:

最近有一个需求,是这样的:在zTree异步刷新整棵树之前,用户已经选择了某一个树节点(假设是A节点),zTree异步刷新整棵树之后,所有的树节点又变成最初的状态(没有扩展开子节点的状态),想咨询下如何在刷新后选中之前选中的节点A?

如下方案是不是一个解决方案:异步刷新之前记录之前选中的树节点

getSelectedNodes();
,刷新之后通过 getNodesByParam 可以根据属性查找你需要的节点,然后通过
selectNode(nodes[0]);
的方式去选中?


期待您的答复 万分感谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

可是我不能没有你 2021-11-23 21:49:50

我想到缓存

葬花如无物 2021-11-22 18:55:56

非常感谢指导,主要需求中树节点和叶子节点都会被更改,所以就采取了刷新整棵树的操作。 再次感谢!

把昨日还给我 2021-11-21 03:15:41

1、看一下 异步加载模式下 全部展开的 demo,学会如何用代码控制逐层展开。

2、异步刷新之前把已经展开的父节点id 逐级全部保存下来,刷新后,根据保存的数据逐级展开

3、一部刷新之前把已选中的节点id 保存下来, 等第2步执行完毕后,利用 selectNode 选中即可。

总之,针对异步加载的情况 刷新整棵树又要保持原装肯定会相对麻烦一些。。。不知道你的需求中为何一定要刷新整棵树呢?如果只是修改数据,是否可以考虑利用增量处理,必须删除、新增、修改对应的节点就是了?具体情况还要根据你的需求而定

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文