记录
前言
本文档基于若依框架编写
项目地址:https://gitee.com/y_project/RuoYi-Cloud
提示:以下是本篇文章正文内容,下面案例可供参考
一、TreeNode 通用树结构使用
日常开发经常会遇到此类表单
那么这种树结构是如何实现的呢
若依框架中给出了实现(贴出部分代码):
菜单树
部门树
对此做稍稍改动
1. 创建TreeNode树结构基础类
/**
* @author
* @description TODO
* @date 2022/5/5 17:27
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TreeNode<T> {
/**
* 节点ID
*/
private Integer id;
/**
* 父节点ID:顶级节点为0
*/
private Integer parentId;
/**
* 节点名称
*/
private String name;
/**
* 子节点
*/
private List<T> children = new ArrayList<>();
}
2. 创建通用树结构构建类
/**
* @author
* @description TODO
* @date 2022/5/5 17:29
*/
public class TreeBuild {
public List<TreeNode> nodeList = new ArrayList<>();
/**
* 构造方法
*
* @param nodeList 将数据集合赋值给nodeList,即所有数据作为所有节点。
*/
public TreeBuild(List<TreeNode> nodeList) {
this.nodeList