侧边栏壁纸
博主头像
分享你我博主等级

行动起来,活在当下

  • 累计撰写 106 篇文章
  • 累计创建 13 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

.net core 3.1 生成树形菜单

管理员
2020-11-11 / 0 评论 / 0 点赞 / 3 阅读 / 3664 字
 public class MenuTree
    {
        public long id { get; set; }
        public string text { get; set; }
        public string icon { get; set; }
        public string route { get; set; }
        public List<MenuTree> children = new List<MenuTree>();
        /// <summary>
        /// 递归生成树形菜单
        /// </summary>
        /// <param name="menuList">菜单数据</param>
        /// <param name="parenId">父级ID</param>
        /// <returns></returns>
        public static List<MenuTree> CreateTree(List<Menu> menuList, long parenId = 0)
        {
            var resources = menuList.Where(m => m.ParentId == parenId).Select(s =>
            new MenuTree
            {
                id = s.Id,
                text = s.Name,
                route = s.Nickname ?? ""
            }).ToList();
            if (resources.Count > 0)
            {
                var data = new List<MenuTree>();
                resources.ForEach(t =>
                {
                    t.children = CreateTree(menuList, t.id);
                    data.Add(t);
                });
                return data;
            }
            return new List<MenuTree>();
        }
    }


0

评论区