后台获取数据格式
测试demo中使用js引入数据
处理方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<link href="http://www.jq22.com/jquery/bootstrap-3.3.4.css" rel="stylesheet">
<script src="http://www.jq22.com/jquery/2.1.1/jquery.min.js"></script>
<script src="js/bootstrap-treeview.min.js"></script>
<body>
<div id="treeview1">
</div>
</body>
<script src="treeData.js"></script>
<script>
$(function () {
var getData = treeData
var loadData = []
for (let item of getData) {
if (item["root"] == 1) {
let json = {
text: item.name,
id: item.id,
level: 1
}
let rootData = getNodesData(getData, json)
if (rootData.length > 0) {
json.nodes = [...rootData]
}
loadData.push(json)
}
}
$("#treeview1").treeview({
data:loadData
})
})
function getNodesData(getData, node) {
let nodesArr = []
for (let i = 0; i < getData.length; i++) {
if (getData[i].pid == node.id) {
let json = {
text: getData[i].name,
id: getData[i].id,
level: Number(node.level) + 1
}
getData.splice(i, 1);
i--;
if (getData.length > 0) {
let getNodes = getNodesData(getData, json)
if(getNodes.length>0){
json.nodes = getNodes
}
}
nodesArr.push(json)
}
}
return nodesArr;
}
</script>
</html>
最终数据格式
本人小白,网上没有找到合适的方法,综合了一下记录下来。
如有错误或者更好的方法 ~~感谢大佬告诉我