具体步骤
1,首先定义一个map(parentMap)负责存储所有已经点开的父级节点
2,在table属性中的:load="load"对应的方法中添加this.parentMap.set(tree.id, { tree, treeNode, resolve })
键值对的key用每一行的id即可(或者设置为其他不会重复的属性值作为key也行),每次点击展开的时候会把当前层级作为一个父级节点存储到map里面
3,在需要刷新的地方添加代码
this.getDataList() // 表格初始化时的数据加载方法
const tmpNode = this.parentMap.get(id) // 根据父级id重新获取当前行的父节点数据
this.load(tmpNode.tree, tmpNode.treeNode, tmpNode.resolve) // 重新执行懒加载的操作渲染新数据
总的来说分为三步
1,存储已展开的父级节点
2,重新获取父级节点数据
3,重新执行懒加载渲染数据
非常简单吧