设置节点展开:全部展开/指定节点展开
<el-tree :data="treeData" :default-expand-all="true"></el-tree>
<el-tree :data="treeData" :default-expanded-keys="[treeData[0].id, treeData[0].children[0].id]"></el-tree>
如果有父ID将会关联所有子节点(根据返回数据初始化数组中)
1、数据
treeData:[{
"id": "123",
"pid": "0",
"name": "XX集团",
"children": [],
},
{
"id": "124",
"pid": "123",
"name": "XX工厂",
"children": [],
}]
defaultProps: {
children: 'children',
label: 'name',
},
2、方法
// 递归
filterTree(arr, id = '0') {
// 第一次id未赋值,返回根节点0
// 查找parentId为此id的项,并进行递归调用
return arr.filter(e => e.pid === id)
.map(e => {
e.children = this.filterTree(arr, e.id)
return e
})
},
方法参考:http://t.csdnimg.cn/bu7KW
el-tree 展示图标
<el-tree :data="treeList" :props="defaultProps" @node-click="handleNodeClick" :default-expanded-keys="treeList[0] && [treeList[0].id]">
<span slot-scope="{ node, data }">
<!-- 此处判断,是否展示图标 -->
<i class="el-icon-document" v-if="data.type === 1"></i>
<i class="el-icon-folder-opened" v-else-if="data.type === 0"></i>
<span style="margin-left: 2px;">{{ data.categoryName }}</span>
</span>
</el-tree>