// Class列表转为树
list2tree() {
const list = cloneDeep(this.classList);
var getChildren = (arr, nameArr) => {
let result = [];
for (let item of arr) {
if (nameArr.indexOf(item['@id']) !== -1) {
let roles = [];
Array.isArray(item.selfRoles) && (roles = [].concat(item.selfRoles));
Array.isArray(item.parentRoles) && item.parentRoles.forEach(item => {
if (roles.indexOf(item) === -1) {
roles.push(item);
}
});
let curClass = {
id: item.id,
atId: item['@id'],
name: item.label['zh-cn'],
parent: Array.isArray(item.subClassOf) ? item.subClassOf[0] : null,
children: (Array.isArray(item.supClassOf) && (item.supClassOf.length > 0)) ? getChildren(arr, item.supClassOf) : [],
isEncryption: item.isEncryption || 0,
selfRoles: item.selfRoles,
parentRoles: item.parentRoles,
roles: roles.sort()
};
result.push(curClass);
}
}
return result;
}
this.classTree = getChildren(list, ['bkgs:事物'])[0].children;
递归处理elememnt tree 的数据;参考 字面量函数方式 的使用
猜你喜欢
转载自blog.csdn.net/zhangyubababa/article/details/131877847
今日推荐
周排行