ztree数据问题

在实际开发过程中存在后台数据格式的不规范性,无法满足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结构大体如下


ztree数据问题_第1张图片
整体数据结构

ztree数据问题_第2张图片
全部展开数据结构

该数据可以看出大致是标准的数据格式,但是整体的结构包括父子节点的Id、子属性的差异化命名都存在问题,这给我们生成标准tree造成一定难度
**
解决思路:treeTolist 递归的方式解析该json 并在循环中将Id及属性命名统一生成 Array简单数据格式
**


仅供参考
ztree数据问题_第3张图片
仅供参考

你可能感兴趣的:(ztree数据问题)