記錄一下JS代碼,元數據json_data中沒有children屬性,動態增加該屬性
/**
* 獲取xmSelect下拉菜單樹 數據
* @param json_data
*/
getMenuTreeData: function (json_data) {
var _this = this;
var menuJsonData = [];// 菜單數組
var parentList = [];// 所有一級菜單數組
for (var i = 0; i < json_data.length; i++) {
var obj = {};
obj["children"] = [];//給每個菜單對象增加一個children屬性
obj["id"] = json_data[i].id;
obj["parent"] = json_data[i].parent;
obj["text"] = json_data[i].text;
menuJsonData.push(obj);
if (json_data[i].parent == '#') {
parentList.push(obj);
}
}
for (var i = 0; i < parentList.length; i++) {
parentList[i] = _this.recuTree(parentList[i], menuJsonData);
}
// console.log(parentList);
_this.menuTreeData = parentList;
},
recuTree: function (parentMenu, menuJsonData) {
var _this = this;
for (var i = 0; i < menuJsonData.length; i++) {
if (parentMenu.id == menuJsonData[i].parent) {
menuJsonData[i] = _this.recuTree(menuJsonData[i], menuJsonData);
parentMenu["children"].push(menuJsonData[i]);
}
}
return parentMenu;
},