el-tree属性参数说明:
1.data:树形结构数据源
2.node-key:每个树节点用来作为唯一标识的属性,例如:id
3.default-expanded-keys:默认展开的结点组成的数组
4.default-checked-keys:默认勾选的节点key组成的数组
5.props:树形结构配置选项{label:节点的标签名,children:指定子级节点名称}
6.default-expand-all 默认全部展开
// 递归
1.递归实现:
getCheckedRightsIds(node,arr) {
//当前node没有children,意味着node没有子级,则将当前node的id保存到数组中
if(!node.children) {
return arr.push(node.id)
}
//如果node含有children,则用递用调用getCheckedRightsIds函数
node.children.forEach(subnode=>this.getCheckedRightsIds(subnode,arr))
}
2.不用递归:
//封装一个提取树形结构的数据id的方法
export function getTreeIds(tree) {
//存放id的数组
let resultArr = [];
//存放当前要处理的权限数组
let tempArr = [];
tempArr = tempArr.concat(JSON.parse(JSON.stringify(tree)));
while (tempArr.length) {
let node = tempArr.shift();
if (node.children) {
tempArr = tempArr.concat(node.children);
delete node["children"];
} else {
resultArr.push(node.id);
}
}
return resultArr;
}