This commit is contained in:
神仙都没用 2023-10-09 19:45:58 +08:00
parent 8e4992055a
commit ddd9408878

View File

@ -200,34 +200,26 @@ export function deepPaths(paths: string[], splitor?: string) {
} }
// 列表转树形 // 列表转树形
export function deepTree(list: any[], order?: "asc" | "desc"): any[] { export function deepTree(list: any[], sort?: "desc" | "asc"): any[] {
const newList: any[] = []; const newList: any[] = [];
const map: any = {}; const map: any = {};
list.forEach((e) => (map[e.id] = e)); orderBy(list, "orderNum", sort)
.map((e) => {
map[e.id] = e;
return e;
})
.forEach((e) => {
const parent = map[e.parentId];
list.forEach((e) => { if (parent) {
const parent = map[e.parentId]; (parent.children || (parent.children = [])).push(e);
} else {
if (parent) { newList.push(e);
(parent.children || (parent.children = [])).push(e);
} else {
newList.push(e);
}
});
const fn = (list: Array<any>) => {
list.map((e) => {
if (isArray(e.children)) {
e.children = orderBy(e.children, "orderNum", order);
fn(e.children);
} }
}); });
};
fn(newList); return newList;
return orderBy(newList, "orderNum", order);
} }
// 树形转列表 // 树形转列表