主要有两个问题 :
1.后端方法返回的时候code 必须为0 (一般成功都返回200 ,还没找到怎么更改这个配置)
2. treeSpid:顶级父id值//这个值一定要改成自己的,否则即便是返回的数据都是正确的,也不会显示数据
3.数据表的id和数据表的父id一定要写对,否则会不展示数据或者展示数据不全
treetable.render({
treeColIndex: 1,
treeSpid: 0,//父级id,写错数据就展示不出来
treeIdName: 'authorityId',//数据表的id
treePidName: 'parentId',//数据表的父级id
elem: '#munu-table',
url: '/menu/getMenu',
page: false,
cols: [
[
{type: 'numbers'},
{field: 'authorityName', minWidth: 200, title: '权限名称'},
{field: 'authority', title: '权限标识'},
{field: 'menuUrl', title: '菜单url'},
{field: 'orderNumber', width: 80, align: 'center', title: '排序号'},
{
field: 'isMenu', width: 80, align: 'center', templet: function (d) {
if (d.isMenu == "F") {
return '<span class="layui-badge layui-bg-gray">按钮</span>';
}
if (d.parentId == "M") {
return '<span class="layui-badge layui-bg-blue">目录</span>';
} else {
return '<span class="layui-badge-rim">菜单</span>';
}
}, title: '类型'
},
{templet: '#auth-state', width: 120, align: 'center', title: '操作'}
]
],
done: function () {
layer.closeAll('loading');
}
});
补充:返回值是正常的列表即可,不用费劲去写后台方法遍历循环形成树了