const convertTrees = (tree: IObject[]) => {
const result: IObject[] = [];
let getItem: IObject = {};
// 遍历 tree
tree.forEach((item: IObject) => {
getItem = {
value: `${item.companyCode}_${item.departmentCode}`,
label: item.departmentName,
children: item.nextLevelDepartments,
pid: item.parentDepartmentCode,
parentTreeLevel: item.parentTreeLevel,
isLeaf: item.nextLevelDepartments?.length === 0
};
// 如果有子节点,递归
if (getItem?.children?.length > 0) {
getItem.children = convertTrees(getItem?.children);
} else {
getItem.children = [];
}
// 解构赋值
const { value, label, children, pid, parentTreeLevel, isLeaf } = getItem;
result.push({
value,
label,
children,
pid,
parentTreeLevel,
isLeaf
});
});
return result;
};
递归循环多级组织树
最新推荐文章于 2025-04-25 16:12:41 发布