在實際開發(fā)過程中存在后臺數(shù)據(jù)格式的不規(guī)范性跟畅,無法滿足ztree數(shù)據(jù)格式的規(guī)范更胖。針對上述問題結(jié)合實際開發(fā)案例總結(jié)及解決方案如下
1.標(biāo)準(zhǔn)數(shù)據(jù)格式
var nodes = [
{name: "父節(jié)點1", children: [
{name: "子節(jié)點1"},
{name: "子節(jié)點2"}
]}
];
2.簡單數(shù)據(jù)格式
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 分別表示 使用 / 不使用 簡單數(shù)據(jù)模式
如果設(shè)置為 true势木,請務(wù)必設(shè)置 setting.data.simpleData 內(nèi)的其他參數(shù): idKey / pIdKey / rootPId闹啦,并且讓數(shù)據(jù)滿足父子關(guān)系。
3.實際應(yīng)用
已知tree的結(jié)構(gòu)為 json結(jié)構(gòu)大體如下
該數(shù)據(jù)可以看出大致是標(biāo)準(zhǔn)的數(shù)據(jù)格式远舅,但是整體的結(jié)構(gòu)包括父子節(jié)點的Id燃乍、子屬性的差異化命名都存在問題畅涂,這給我們生成標(biāo)準(zhǔn)tree造成一定難度
**
解決思路:treeTolist 遞歸的方式解析該json 并在循環(huán)中將Id及屬性命名統(tǒng)一生成 Array簡單數(shù)據(jù)格式
**