清除树结构中的空的子节点的children属性
后端返回数据是这样的:
"LISTINFO": [
{
"children": [
{
"children": [
{
"children": [],
"checked": false,
"label": "性别",
"value": "10000",
"parentId": "1000"
},
{
"children": [
{
"children": [],
"checked": false,
"label": "年龄段",
"value": "10011",
"parentId": "10010"
}
],
"checked": false,
"label": "年龄区间",
"value": "10010",
"parentId": "1000"
},
{
"children": [
{
"children": [],
"checked": false,
"label": "婚姻状况",
"value": "10021",
"parentId": "10020"
}
],
"checked": false,
"label": "婚姻情况",
"value": "10020",
"parentId": "1000"
},
{
"children": [],
"checked": false,
"label": "学历",
"value": "10030",
"parentId": "1000"
},
],
"checked": false,
"label": "根节点",
"value": "root",
"parentId": "0"
}
]
我需要的数据结构
options: [ {
id: 'a',
label: 'a',
children: [ {
id: 'aa',
label: 'aa',
}, {
id: 'ab',
label: 'ab',
} ],
}, {
id: 'b',
label: 'b',
}, {
id: 'c',
label: 'c',
} ],
我的操作
/* 树层次过滤 */
treeLevel(arr) {
arr.forEach((item) => {
if (item.children.length != 0) {
this.treeLevel(item.children);
item.id = item.value;
} else if (item.children.length == 0) {
delete item.children;
item.id = item.value;
}
});
return arr;
},
传入请求到的数据并接收
this.data = this.treeLevel(res.obj.TrnBody.LISTINFO[0].children);