后台返回的格式
也就是需要处理的树结构数据
[{"name":"xxxxxxx集团","id":"001","items":[{"flag":"false","name":"普通用户岗(分散采购)","id":"8a86a6197ae1cd61017ae1d23f6a0001","items":[]},{"flag":"false","name":"系统管理岗(分散采购)","id":"8a86a6197ae1dea0017ae1ed8a050003","items":[]},{"name":"xxxxxx有限公司","id":"1002","items":[{"flag":"false","name":"项目管理岗(分散采购)","id":"8a86a6197ae1dea0017ae1ed000f0001","items":[]},{"flag":"false","name":"供应商管理岗(分散采购)","id":"8a86a6197ae1dea0017ae1ed4d940002","items":[]}],"disabled":true}],"disabled":true}]
我要拿到子节点的id,使用的是递归的形式
methods方法:
getIds(arr) {
// eslint-disable-next-line array-callback-return
arr.map((item) => {
if (item.items.length >= 1) {
if (item.hasOwnProperty(‘flag’)) {
this.ids.push(item.id);
}
this.getIds(item.items);
} else {
this.ids.push(item.id);
}
});
return this.ids;
},
把我们的树结构传递给这个方法就行了
let a = this.getIds(this.workTree);
console.log(a)
//打印出来的就是子项的item的值了,大家有类似结构的可以稍微改造一下,就可以用