封装树结构使用

51 阅读1分钟

一个接口,树结构包括四层,根据需求不同,取得层级不定,使用递归函数封装,传入层级,进行一个判断。封装代码如下:

```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,
            };
          });
        }
      };