layui.tree({
elem: '#treeNav',
target: '_blank',
click: function (item) {
_self.breadcrumb = [];
_self.breadcrumb.push(item.name);
var p = item.Pid;
_self._KnowledgeTree.forEach(function (v, k) {
if (v.id == p) {
_self.breadcrumb.push(v.name);
p = v.Pid;
}
})
_self.breadcrumb.reverse();
_self.knowledgeid = item.id;
freshTable();
},
nodes: _self.KnowledgeTree
});
其中
_self.KnowledgeTree = parseList(d);
parseList(d);
function parseList(list) {
var map = {};
list.forEach(function (item) {
if (!map[item.id]) {
map[item.id] = item;
}
});
list.forEach(function (item) {
if (item.Pid != 0) {
map[item.Pid].children ? map[item.Pid].children.push(item) : map[item.Pid].children = [item];
}
});
return list.filter(function (item) {
return item.Pid == 0;
});
}