filterArr: [
{
label: '所属公司',
prop: 'orgName',
type: 'input'
rowid: 1,
children: [
{
label: '子部门1',
prop: 'post',
type: 'input',
id: 1,
},
{
label: '子部门2',
prop: 'post',
type: 'input',
id: 2
},
]
},
{
label: '资产名称',
prop: 'name',
type: 'input',
rowid: 1,
children: [
{
label: '子部门3',
prop: 'post',
type: 'input',
id: 1,
},
]
},
{
label: '报废申请人',
prop: 'rejectCreateUserName',
type: 'input'
rowid: 2,
children: [
{
label: '报废申请人3',
prop: 'post',
type: 'input',
id: 1,
},
]
},
]
// rowId 相同
// 合并的方法
mergeChildren(filterArr) {
debugger;
return Array.from(
filterArr.reduce((map, item) => {
debugger;
// 如果map中已经有该rowId,则取出其children并合并新item的children
const existingItem = map.get(item.rowId);
if (existingItem) {
debugger;
const itemChildren = [...existingItem.children];
existingItem.children = itemChildren;
} else {
// 否则直接将item添加到map中
map.set(item.rowId, { ...item, children: item.children });
}
return map;
}, new Map())
.values()
);
},