使用后台请求返回的数据组装成treeview展示需要的数据类型,例如要展示的静态数据为:
var treeData = [{
text: "根节点",
nodes: [
{
text: "子节点1",
},
{
text: "子节点2"
}]
}];
后台返回的List数据,则可以动态组装如下:
function formTreeData(root,data){
var treeData = [];
treeData[0] = {};
treeData[0].text = root.privilegeName;
treeData[0].nodes = [];
for(var i=0;i<data.length;i++){
treeData[0].nodes[i] = {};
treeData[0].nodes[i].text = data[i].privilegeName;
//如果还有子节点
/*var children = data[i].children;
if(children.length > 0) {
treeData[0].nodes[i].nodes = [];
for(var j=0;j<children.length;j++){
treeData[0].nodes[i].nodes[j] = {};
treeData[0].nodes[i].nodes[j].text = children[i].privilegeName;
}
}*/
}
return treeData;
}
然后调用
$('#tree').treeview({data:treeData});
如果层次较多,可以使用递归来组织