el-tree lazy时再次触发load
2023-05-07 本文已影响0人
jeneen1129
主要是将第一个节点和resolve函数指针存起来,再次触发时手动调用
代码如下:
data() {
return {
treeNode_had: [],
treeResolve_had: [],
}
}
......
// 点击刷新按钮触发
reloadTreeNewData() {
this.treeNode_had.childNodes = [] // 把存起来的node的子节点清空,不然会界面会出现重复树!
this.loadTree(this.treeNode_had, this.treeResolve_had) // 再次执行懒加载的方法
},
loadTree(node, resolve) {
if (node.data['id'] === -1) {
this.treeNode_had = node // 在 data 里面定义一个变量,将 node.level == 0 的 node 存起来
this.treeResolve_had = resolve // 同上,把 node.level == 0 的 resolve 也存起来
....
resolve(node)
} else {
resolve(this.treeList.filter(value => value.pid === node.data.id ) )
}
}