ant-design-vue的tree的懒加载更新问题

情景:

需求:1. 树是懒加载,默认只展开第一级节点;2. 展开某个节点对其子节点新增操作;3. 新增成功后,树刷新并自动展开之前展开的节点

方法:

onLoadData(treeNode) {
      return new Promise((resolve) => {
        if (treeNode.dataRef.children) {
          resolve();
          return;
        }
        setTimeout(() => {
          getMaterialSortTree({
            ParentId: treeNode.dataRef.Id,
            Name: this.searchValue,
          }).then((response) => {
            response.Result.forEach((item) => {
              this.$set(item, "scopedSlots", { title: "slot" });
              // 根据之前展开的节点数据找出应当展开的节点,并放进expandedKeys中
              if (this.expandedKeys.filter((id) => id == item.Id).length > 0) {
                this.expandedKeys.push(item.Id);
              }
            });
            var childrenData = response.Result;
            treeNode.dataRef.children = childrenData;
            this.gData = [...this.gData];
          });
          resolve();
        }, 1);
      });
    },

附上整个文件的代码,走你






你可能感兴趣的:(ant-design-vue的tree的懒加载更新问题)