一个接口,树结构包括四层,根据需求不同,取得层级不定,使用递归函数封装,传入层级,进行一个判断。封装代码如下:
```s
const changeName2Label = (data, stopCount, n = 1) => {
if (stopCount) {
return data?.map((item) => {
let children = [];
if (
n < stopCount &&
item?.levelList &&
item?.levelList?.length > 0
) {
children = changeName2Label(item?.levelList, stopCount, n + 1);
}
return {
value: item.id,
label: item.name,
children,
};
});
} else {
return data?.map((item) => {
let children = [];
if (item?.levelList && item?.levelList?.length > 0) {
children = changeName2Label(item?.levelList);
}
return {
value: item.id,
label: item.name,
children,
};
});
}
};