elment 中tree组件展开所有和收缩所有节点
//收起所有节点 setCheckedKeys() { this.defaultExpand = false; for (var i = 0; i < this.$refs.tree.store._getAllNodes().length; i++) { if (this.$refs.tree.store._getAllNodes()[i].id !== 1) { this.$refs.tree.store._getAllNodes()[i].expanded = this.defaultExpand; } } }, setCheckedNodes() { this.defaultExpand = true; //展开所有节点 for (var i = 0; i < this.$refs.tree.store._getAllNodes().length; i++) { this.$refs.tree.store._getAllNodes()[i].expanded = this.defaultExpand; } }
<el-tree :data="deptData" :props="defaultProps" v-loading="listLoading" :default-expanded-keys="idArr" @@node-click="handleNodeClick" node-key="Id" :expand-on-click-node="true" :filter-node-method="filterNode" :render-content="renderContent" ref="tree"> </el-tree>
参见网上写法:
<div> <iclass="arrow-down el-icon-arrow-down" @click="allExpand(true)" title="展开所有"></i> <iclass="arrow-down el-icon-arrow-up" @click="allExpand(false)" titie="收缩所有"></i> </div> <el-tree :data="AiditReportData" node-key="id" ref="selectTree" :default-expand-all="true" :default-expanded-keys="defaultExpandArr" > upAll () { // 全部展开 遍历变成true let self = this; // 将没有转换成树的原数据 let treeList = this.sourceData; for (let i = 0; i < treeList.length; i++) { // 将没有转换成树的原数据设置key为... 的展开 self.$refs.selectTree.store.nodesMap[treeList[i].id].expanded = true } }, public allExpand(isExpand: boolean) { const that: any = this; const treeList = this.AiditReportData; console.log('isExpand', isExpand); for (let i = 0; i < treeList.length; i++) { that.$refs.selectTree.store.nodesMap[treeList[i].id].expanded = isExpand; } } //原文:https://www.cnblogs.com/ll15888/p/12002745.html
this.$refs.tree.store
this.$refs.tree.store.currentNode = null
Object.keys(this.$refs.tree.store.nodesMap).map((key, index) => {
this.$refs.tree.store.nodesMap[key].checked = false
this.$refs.tree.store.nodesMap[key].expanded = false
})