el-tree树形组件 一次性折叠所有子节点

场景:
在dialog中有一个树形数据可以点击选择,展开找到自己想选择的项后通常我们不会再关闭树形选择,导致下一次打开的时候树形组件还是复用了,所以并不会重置,这时候可以在点击取消的时候把所有的节点关闭。

思路:

可以遍历treeRef.store.root.childNodes把全部节点的expanded设置为false,再通过default- expanded-keys设置需要展开的节点

 function setExpandedToFalse(arr) {
        arr.forEach((item) => {
          if (Array.isArray(item)) {
            setExpandedToFalse(item);
          } else {
            item.expanded = false;
          }
        });
      }
   setExpandedToFalse(this.$refs.labelTree.store.root.childNodes);

搞定!!!

你可能感兴趣的:(前端,elementui,javascript,vue.js)