通过文档可找 default-expanded-keys 默认展开的节点的 key 的数组
通过将所有属性节点的 id 存入数组实现全部展开和折叠
<template>
<div>
<el-button type="primary" @click="showAll" >
{{ this.defaultExpandedKeys.length === 0 ? '展开' : '折叠' }}
</el-button>
<el-tree :data="data" :default-expanded-keys="defaultExpandedKeys" />
</div>
</temepate>
<script>
export default {
data() {
return {
defaultExpandedKeys:[] //存储展开的树形节点
};
},
methods: {
//展开全部
showAll() {
if(this.defaultExpandedKeys.length === 0) {
return this.modelTreeOptions.forEach((item) => {
this.defaultExpandedKeys.push(item.id);
item.children.forEach((i) => {
this.defaultExpandedKeys.push(i.id);
});
});
}
this.getTree(); //重新获取树形数据 并将默认展开设为空
this.defaultExpandedKeys = [];
}
}
}
</script>
效果: