export const arrayToTree = (list) => {
const result = []; // 结果集
const itemMap = {};
// 先转成map存储
for (const item of list) {
itemMap[item.menuCode] = { ...item, children: [] };
}
for (const item of list) {
const menuCode = item.menuCode;
const parentMenuCode = item.parentMenuCode;
let treeItem = itemMap[menuCode];
treeItem.label = item.menuText;
if (!parentMenuCode||parentMenuCode === '-1') {
result.push(treeItem);
} else {
if (!itemMap[parentMenuCode]) {
itemMap[parentMenuCode] = { children: [] };
}
itemMap[parentMenuCode].children.push(treeItem);
}
}
let group = []
for (let i of result) {
if (group[i.productCode]) {
group[i.productCode].push(i)
} else {
group[i.productCode] = [i]
}
}
let treeData = []
group?.map((item) => {
let name = item.map((v) => {
if (!v.productCodeDesc) {
v.productCodeDesc = v.productCode;
}
if (v.productCodeDesc) {
return v.productCodeDesc;
}
});
let newNmae = String(([...new Set(name)]))
treeData.push({
label: newNmae,
id:item.id,
children: item,
});
});
return treeData;
}
后端返回list前端转为trre格式
最新推荐文章于 2024-07-11 18:02:52 发布