需求
有两个数据类,一个是树形最底层的成员数据userList。一个树形中的部门数据depList,利用这两类数据形成树形。
数据
// 成员数据
const userList = [{
id: 1,
name: '张三',
avatar: 'http://...',
depId: 1
},{
id: 2,
name: '李四',
avatar: 'http://...',
depId: 2
}]
// 部门数据
const depList = [{
id: 1,
name: '部门1',
parentId: 0
},{
id: 2,
name: '部门1',
parentId: 1
}]
分析
形成树形网上有很多方法都可以,我这里根据需求进行改造,利用Object对象引用的特殊性(引用的Object改变后会改变原始Object)来实现这树形结构。再把树形数据填充到树形生成插件zTree中去。
考虑几点内容:
- 部门下是否无成员(出现空部门时当如何处理);
- 部门下是否无部门(出现部门下存在空部门时当如何处理);
- 部门下是否同时拥有成员及部门