数据展示:
如图:部门树数据 ,树形的基础数据 id 、 parentId 、label 便可形成
嵌套对象字段如下:{id: 103, parentId: 101, label: "研发部门", weight: 1}

一、工具类
继承了 hutoo 的工具类 TreeUtil (引入hutool 依赖)
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class TreeBuildUtils extends TreeUtil {
/**
* 根据前端定制差异化字段
*/
public static final TreeNodeConfig DEFAULT_CONFIG = TreeNodeConfig.DEFAULT_CONFIG.setNameKey("label");
/**
* <简述>
* <详细描述>
* @author syf
* @date 2024/8/15 11:27
* @param list 提供的集合
* @param nodeParser 节点解析器
* @return java.util.List<cn.hutool.core.lang.tree.Tree < K>>
*/
public static <T, K> List<Tree<K>> build(List<T> list, NodeParser<T, K> nodeParser) {
if (CollUtil.isEmpty(list)) {
return null;
}
// 获取父节点
K k = ReflectUtils.invokeGetter(list.get(0), "parentId");
return TreeUtil.build(list, k, DEFAULT_CONFIG, nodeParser);
}
}
TreeNodeConfig 树形需要的字段:可以通过set字段修改
<

最低0.47元/天 解锁文章
807

被折叠的 条评论
为什么被折叠?



