如何动态刷新element-plus中的懒加载子树

1,276 阅读1分钟

如何动态刷新element-plus中的懒加载子树呢?

           <el-tree
              class="ori-tree"
              :data="subProjectList"
              :props="treeProps"
              highlight-current
              :current-node-key="currentNodeKey"
              @current-change="handleTreeChange"
              lazy
              :load="loadChildNodes"
              node-key="id"
              ref="treeRef"
            />

注意需要指定 node-key="id"

两种方式刷新子树

1.拿到树节点dom,根据父节点的idSubProject去获取到对应的节点

        let node = treeRef.value.getNode(data.params.idSubProject)
        //  设置未进行懒加载状态
        node.loaded = false
        // 重新展开节点就会间接重新触发load达到刷新效果
        node.expand()

2.利用updateKeyChildren去更新节点

             treeRef.value.updateKeyChildren(
          对应的父节点id,
          res.data.map((item: any) => ({
            id: item.idEvaluationRecord,
            label: item.recordName,
            type: 2
          }))
        )