原本的数据格式:
let arr = [
{
"id": 28,
"name": "大区一组(张某某)",
"email": "zhanmoumou@1.cn",
"children": [
{
"id": 25,
"email": "贺某某@1.cn",
"name": "贺某某",
"children": [
{
"sale": [
{
"id": 48,
"name": "SYS",
"email": "services@1.cn"
},
{
"id": 98,
"name": "测试账号2",
"email": "ceshi_account_two@1.cn"
}
],
"operation": [
{
"id": 27,
"name": "崔某某",
"email": "cui@1.cn"
},
{
"id": 88,
"name": "丽丽",
"email": "lilu@1.cn"
},
],
"sale_manager": [
{
"id": 15,
"name": "原小小",
"email": "yuanxiao@1.cn"
},
{
"id": 87,
"name": "测试帐号",
"email": "ceshi@1.cn"
}
]
}
]
},
{
"id": null,
"email": null,
"name": null,
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
}
]
},
{
"id": null,
"name": "大区二组(暂无)",
"email": null,
"children": [
{
"id": null,
"email": null,
"name": null,
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
},
{
"id": null,
"email": null,
"name": null,
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
}
]
},
{
"id": null,
"name": "大区三组(暂无)",
"email": null,
"children": [
{
"id": null,
"email": null,
"name": null,
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
},
{
"id": null,
"email": null,
"name": null,
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
}
]
}
]
转化后的数据格式:
let brr = [
{
"key": 28,
"name": "大区一组(张某某)",
"email": "zhanmoumou@1.cn",
"value": "大区一组(张某某)",
"children": [
{
"key": 25,
"email": "hemoumou@1.cn",
"name": "贺某某",
"value": "贺某某",
"children": [
{
[
{
"key": 48,
"name": "SYS",
"value": "SYS",
"email": "services@1.cn",
},
{
"key": 98,
"name": "测试账号2",
"value": "测试账号2",
"email": "ceshi_account_two@1.cn"
},
],
[
{
"key": 27,
"name": "崔某某",
"value": "崔某某",
"email": "cuimoumou@1.cn"
},
{
"key": 88,
"name": "丽丽",
"value": "丽丽",
"email": "lilu@1.cn"
},
],
[
{
"key": 15,
"name": "原小小",
"email": "yuanxiao@y1.cn"
},
{
"key": 87,
"name": "测试帐号",
"email": "ceshi@1.cn"
}
]
}
]
},
{
"key": null,
"email": null,
"name": "暂无",
"value": "暂无",
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
}
],
},
{
"key": null,
"name": "大区二组(暂无)",
"value": "大区二组(暂无)"
"email": null,
"children": [
{
"key": null,
"email": null,
"name": "暂无",
"value": "暂无",
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
},
{
"key": null,
"email": null,
"name": "暂无",
"value": "暂无",
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
}
]
},
{
"key": null,
"name": "大区三组(暂无)",
"value": "大区三组(暂无)",
"email": null,
"children": [
{
"key": null,
"email": null,
"name": null,
"value": null,
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
},
{
"key": null,
"email": null,
"name": null,
"value": null,
"children": [
{
"sale": [],
"operation": [],
"sale_manager": []
}
]
}
]
},
];
我封装了一个函数处理,
function getTreeData (tree) {
let getData = [];
tree.map((item, key) => {
let obj = {}
obj = {
"key": item.id,
"label": item.name || '暂无',
"value": item.name || '暂无',
"email": item.email,
}
if (item.children) {
getData.push(Object.assign(
{"children" :getTreeData(item.children)}, obj))
} else {
getData.push(obj);
}
})
return getData
}
但是由于最内层的数据结构不同,最内层处理的不对,