将后台返回的数据结构转换成 树形结构
例子
未处理前
var list=[
{
lable:"湖南",id:"1",parentId:0
},
{
lable:"长沙",id:"1",parentId:1
},
{
lable:"河南",id:"3",parentId:1
},
]
处理后
var list=[
{
lable:"湖南",id:"1",parentId:0,
children:[
{
lable:"长沙",id:"2",parentId:1
},
]
},
{
lable:"河南",id:"3",parentId:0
},
]
第一步 安装依赖
npm install array-to-tree -save
or
yarn add array-to-tree -save
//组件中引用
import arrayToTree from 'array-to-tree'
axios().then((res) => {
if (res.success) {
var data = res.result.map(item=>{
return {
...item,
//因为tree要求的数据格式为 title key value 如果不在这里处理也可以在 <a-tree></a-tree>
//中通过
// :replace-fields="{ children: 'children', key: 'id', value: 'name', title: 'name' }"
//进行转换
title:item.name,
key:item.id,
value:item.id,
}
})
const treedata = arrayToTree(data, {
parentProperty: 'parentId',
customID: 'id',
})
console.log(treedata)
处理完的数据就是下面这样的
{
lable:"湖南",id:"1",parentId:0,
children:[
{
lable:"长沙",id:"2",parentId:1
},
],
},
{
lable:"河南",id:"3",parentId:0
},