在使用el-tree时,需要实现一键展开/收起的功能,具体实现方法如下:
组件中绑定default-expanded-keys
,如果不生效,可以像下面代码一样加上v-model
;
绑定node-key
<el-button type="success" @click="expandAll">展开</el-button>
<el-button type="danger" @click="collapsaAll">收起</el-button>
<el-tree ref="treeRef" v-model:default-expanded-keys="expandedKeys" :data="treeData" node-key="id">
实现代码:
// 展开所有节点
expandAll() {
this.$refs.treeRef.store._getAllNodes().forEach(node=>{
node.expanded = true;
})
},
// 折叠所有节点
collapsaAll() {
this.$refs.treeRef.store._getAllNodes().forEach(node=>{
node.expanded = false;
})
},
这样就可以实现一键展开与收起的功能啦!