树形结构的后端实现
1、增加Model模型结构
/// <summary> /// 子id /// </summary> public string Id { get; set; } /// <summary> /// 父id /// </summary> public string ParentId { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 图标 /// </summary> public string Icon { get; set; } /// <summary> /// 是否展开 /// </summary> public bool Expanded { get; set; }=true; public bool Selected { get; set; } = true; /// <summary> /// 子节点 /// </summary> public List<TreeModel> Children { get; set; } /// <summary> /// 无参构造函数 /// </summary> public TreeModel() { Children = new List<TreeModel>(); } /// <summary> /// 有参构造函数 /// </summary> /// <param name="id">子id</param> /// <param name="name">名称</param> /// <param name="parentId">父id</param> public TreeModel(string id, string name, string parentId) { this.Id = id; this.Name = name; this.ParentId = parentId; Children = new List<TreeModel>(); } /// <summary> /// 有参构造函数 /// </summary> /// <param name="id">子id</param> /// <param name="name">名称</param> /// <param name="parent">父节点</param> public TreeModel(string id, string name, TreeModel parent) { this.Id = id; this.Name = name; this.ParentId = parent.Id; Children = new List<TreeModel>(); }
2、递归实现树形结构的
/// <summary> /// 使用递归方法建树 /// </summary> public static List<TreeModel> BulidTreeByRecursive(List<TreeModel> treeNodes, List<TreeModel> resps, string pID) { resps = new List<TreeModel>(); List<TreeModel> tempList = treeNodes.Where(c => c.ParentId == pID).ToList(); for (int i = 0; i < tempList.Count; i++) { TreeModel node = new TreeModel(); node.Id = tempList[i].Id; node.ParentId = tempList[i].ParentId; node.Name = tempList[i].Name; node.Icon = tempList[i].Icon; node.Children = BulidTreeByRecursive(treeNodes, resps, node.Id); resps.Add(node); } return resps; }
3、然后基本实现,所属接口调用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了