在实际开发过程中存在后台数据格式的不规范性,无法满足ztree数据格式的规范。针对上述问题结合实际开发案例总结及解决方案如下
1.标准数据格式
var nodes = [
{name: "父节点1", children: [
{name: "子节点1"},
{name: "子节点2"}
]}
];
2.简单数据格式
var setting = {
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: "pId",
rootPId: 0
}
}
};
var treeNodes = [
{"id":1, "pId":0, "name":"test1"},
{"id":11, "pId":1, "name":"test11"},
{"id":12, "pId":1, "name":"test12"},
{"id":111, "pId":11, "name":"test111"}
];
enable: true / false 分别表示 使用 / 不使用 简单数据模式
如果设置为 true,请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId,并且让数据满足父子关系。
3.实际应用
已知tree的结构为 json结构大体如下
该数据可以看出大致是标准的数据格式,但是整体的结构包括父子节点的Id、子属性的差异化命名都存在问题,这给我们生成标准tree造成一定难度
**
解决思路:treeTolist 递归的方式解析该json 并在循环中将Id及属性命名统一生成 Array简单数据格式
**