zTree如何在异步刷新之后选择刷新之前选择的节点
@zTree 你好,想跟你请教个问题:
最近有一个需求,是这样的:在zTree异步刷新整棵树之前,用户已经选择了某一个树节点(假设是A节点),zTree异步刷新整棵树之后,所有的树节点又变成最初的状态(没有扩展开子节点的状态),想咨询下如何在刷新后选中之前选中的节点A?
如下方案是不是一个解决方案:异步刷新之前记录之前选中的树节点
getSelectedNodes();,刷新之后通过 getNodesByParam 可以根据属性查找你需要的节点,然后通过
selectNode(nodes[0]);的方式去选中?
期待您的答复 万分感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我想到缓存
非常感谢指导,主要需求中树节点和叶子节点都会被更改,所以就采取了刷新整棵树的操作。 再次感谢!
1、看一下 异步加载模式下 全部展开的 demo,学会如何用代码控制逐层展开。
2、异步刷新之前把已经展开的父节点id 逐级全部保存下来,刷新后,根据保存的数据逐级展开
3、一部刷新之前把已选中的节点id 保存下来, 等第2步执行完毕后,利用 selectNode 选中即可。
总之,针对异步加载的情况 刷新整棵树又要保持原装肯定会相对麻烦一些。。。不知道你的需求中为何一定要刷新整棵树呢?如果只是修改数据,是否可以考虑利用增量处理,必须删除、新增、修改对应的节点就是了?具体情况还要根据你的需求而定