现在想在部门树下面添加用户 效果图 部门数据结构
[ { id: 100, label: "XX检测公司", children: [ { id: 101, label: "业务部门", children: [ { id: 103, label: "研发部门" }, { id: 104, label: "市场部门" }, { id: 105, label: "测试部门" }, { id: 106, label: "财务部门" }, { id: 107, label: "运维部门" }, ], }, { id: 102, label: "委托部门", children: [ { id: 108, label: "市场部门" }, { id: 109, label: "财务部门" }, ], }, ], }, ],this.userList 的数据结构 这个是我们要插入到部门树结构中
[ { remark: "管理员", userId: 1, deptId: 103, userName: "admin", nickName: "系统管理员", }, { remark: "测试员", userId: 2, deptId: 105, userName: "ry", nickName: "测试", }, { userId: 101, deptId: 104, userName: "1", nickName: "1", }, ],核心方法
// 递归算法 创建用户树结构 deptuserfor(data) { for (var i = 0; i < data.length; i++) { // children若为空数组,则在这里追加元素 if (data[i].children == undefined) { data[i].children=[] for (var j = 0; j < this.userList.length; j++) { if (this.userList[j].deptId == data[i].id) { data[i].children.push({ label: this.userList[j].userName, id: this.userList[j].userId, }); } } console.log(data[i]); } else { // children若不为空数组,则继续递归调用本方法 this.deptuserfor(data[i].children); } } return data; },