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 ) )
  }
}
上一篇下一篇

猜你喜欢

热点阅读