级联选择数据要求的格式为:
{
value: ‘jiangsu’,
label: ‘江苏’,
children: [
{
value: ‘nanjing’,
label: ‘南京’,
children: [
{
value: ‘fuzimiao’,
label: ‘夫子庙’,
}
]
}, {
value: ‘suzhou’,
label: ‘苏州’,
children: [
{
value: ‘zhuozhengyuan’,
label: ‘拙政园’,
}, {
value: ‘shizilin’,
label: ‘狮子林’,
}
]
}
]
}
,而我的数据结构为:
{
key: 1,
parentKey: 0,
catGrade: 0,
Index: 0,
catName: “扶贫捐赠”,
children: (22) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}],
expand: true
}
,需要将catName改为value。
可以用递归的思想来解决这个问题:
function convertTree (tree){
var result= [];
tree.forEach(item=>{
let {
catName: value
}=item
if (children) {
children = convertTree(children)
}
result.push({
value,
label,
children
})
})
return result;
}