.net core 3.1 生成树形菜单

 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>();
        }
    }


本文作者:admin

本文链接:https://www.javalc.com/post/38.html

版权声明:本篇文章于2020-11-11,由admin发表,转载请注明出处:分享你我。如有疑问,请联系我们

vue 使用 supermap/iclient-leaflet 地图

发表评论

取消
扫码支持