从后台请求回来的数据并不一定符合layui树形结构数据,因此需要转换成符合layui树形结构数据,才能实现树形结构效果及正确的数据展示
layui树形结构数据:
let layuiTreeData = [{
title: '江西' //一级菜单
,children: [{
title: '南昌' //二级菜单
,children: [{
title: '高新区' //三级菜单
}]
}]
},{
title: '陕西' //一级菜单
,children: [{
title: '西安' //二级菜单
}]
}]
从后台获取的树形结构数据:
let treeData = [{
provice: '江西' //一级菜单
,area: [{
provice: '南昌' //二级菜单
,area: [{
provice: '高新区' //三级菜单
}]
}]
},{
provice: '陕西' //一级菜单
,area: [{
provice: '西安' //二级菜单
}]
}]
通过标准layui树形结构数据与后台请求回来的数据对比,可以清晰的看出,其属性名不符合layui树形结构数据标准,因此需要将其从后台请求回来的数据转化成符合layui树形结构数据,才能展示出树形结构数据
<link rel="stylesheet" type="text/css" href="libs/layui/css/layui.css"/>
<div id="test"></div>
<script src="./libs/layui/layui.all.js"></script>
<script type="text/javascript">
let treeData = [{
provice: '江西' //一级菜单
,area: [{
provice: '南昌' //二级菜单
,area: [{
provice: '高新区' //三级菜单
}]
}]
},{
provice: '陕西' //一级菜单
,area: [{
provice: '西安' //二级菜单
}]
}]
layui.use('tree', function(){
var tree = layui.tree;
//渲染
tree.render({
elem: '#test', //绑定元素
data: JSON.parse(JSON.stringify(treeData).replace(/"provice"/g,"title").replace(/"area"/g,"children"))
});
});
</script>