layui 树形结构遍历渲染
layui.use('tree', function(){
let roleId = Request.roleId;
let tree_data=[];
$.ajax({
type: "get",
url: http1 + "sys/initMenuInfo",
async: false,
data: {
roleId: roleId
},
beforeSend: function(request) {
request.setRequestHeader("Authorization", sessionStorage.getItem("token"));
},
error: function(jqXHR) {
if(jqXHR.responseText!='' && jqXHR.status ==401){
alert(JSON.parse(jqXHR.responseText).msg);
}
},
success: function (res) {
$.each(res.data, function (index, item) {
let children2=[];
$.each(item.childMenu, function (index, item2) {
let children3=[];
$.each(item2.childMenu, function (index, item3) {
let obj = {
id: item3.menuId,
title: item3.menuname,
children: []
};
children3.push(obj);
});
let obj = {
id: item2.menuId,
title: item2.menuname,
children: children3
};
children2.push(obj);
});
let obj = {
id: item.menuId,
title: item.menuname,
children: children2
};
tree_data.push(obj);
});
}
});
console.log(tree_data);
//渲染
let tree = layui.tree;
tree.render({
elem: '#my_tree',
showCheckbox:true,
data:tree_data,
click: function(obj){
console.log("点击了节点",obj.elem); //得到当前节点元素
},oncheck: function(obj){
console.log("点击了复选框",obj.elem); //得到当前节点元素
console.log(obj.data); //得到当前点击的节点数据
console.log(obj.checked); //得到当前节点的展开状态:open、close、normal
console.log(obj.elem); //得到当前节点元素
}
});
});