
使用layui怎样实现这样的效果,我是使用dotnet core mvc的把数据传到前端的,请问这个数据实体怎样构建,怎样递归把数据保存起来传到前段显示,前段如何动态构建layui树

qingwenc 晚上好🌙🌙🌙
本答案参考ChatGPT-3.5
要使用layui树动态加载菜单权限数据,你可以按照以下步骤进行:
public class MenuPermission
{
public int Id { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
public List<MenuPermission> Children { get; set; }
}
private static List<MenuPermission> BuildMenuTree(List<MenuPermission> menuPermissions, int parentId)
{
var menuTree = new List<MenuPermission>();
foreach (var menuPermission in menuPermissions)
{
if (menuPermission.ParentId == parentId)
{
menuPermission.Children = BuildMenuTree(menuPermissions, menuPermission.Id);
menuTree.Add(menuPermission);
}
}
return menuTree;
}
public IActionResult Index()
{
var menuPermissions = GetMenuPermissionsFromDatabase();
var menuTree = BuildMenuTree(menuPermissions, 0);
return View(menuTree);
}
layui.use(['tree', 'jquery'], function(){
var tree = layui.tree, $ = layui.jquery;
var data = @Html.Raw(Json.Serialize(Model));
tree.render({
elem: '#menuTree',
data: data,
showCheckbox: true,
accordion: true
});
});
通过以上步骤,你可以实现使用layui树动态加载菜单权限数据。在后端通过递归构建数据结构,再将数据传到前端,前端再使用layui.tree组件来构建树形菜单。