Element ui el-tree 组件展开关闭所有节点方法
Element ui el-tree 组件展开关闭所有节点方法
- 递归遍历每个节点改变 node的expanded 属性值
changeTreeNodeStatus(val, flag) {
const node = val
node.expanded = flag;
for (let i = 0; i < node.childNodes.length; i++) {
node.childNodes[i].expanded = flag;
if (node.childNodes[i].childNodes.length > 0) {
this.changeTreeNodeStatus(node.childNodes[i], flag);
}
}
},
- 通过ref找到节点的store属性的_getAllNodes方法获取所有节点的集合数组
for (let i = 0; i < this.$refs.tree.store._getAllNodes().length; i++) {
this.$refs.tree.store._getAllNodes()[i].expanded = this.defaultExpand;
}
- 同样是通过ref找到store.nodesMap 改变
for (let i = 0; i < this.deptOptions.length; i++) {
this.$refs.tree.store.nodesMap[this.deptOptions[i].id].expanded = flag;
}