给一组这样的数据
var college = [
{id: 128, name: “广材信息服务”, parentid: 1, cnt: 224},
{id: 1, name: “计价软件”, parentid: 28, cnt: 11580},
{id: 129, name: “业务知识”, parentid: 28, cnt: 362},
{id: 73152, name: “16”, parentid: 0, cnt: 22},
{id: 2, name: “计量软件”, parentid: 28, cnt: 28022},
{id: 130, name: “土建业务知识”, parentid: 129, cnt: 333},
{id: 131, name: “安装业务知识”, parentid: 129, cnt: 20},
{id: 73154, name: “456”, parentid: 72216, cnt: 0},
{id: 4, name: “云计价”, parentid: 1, cnt: 4497},
{id: 132, name: “计价业务知识”, parentid: 129, cnt: 9},
{id: 5, name: “计价GBQ4.0”, parentid: 1, cnt: 4879},
{id: 6, name: “钢筋算量GGJ2013”, parentid: 2, cnt: 8164},
{id: 7, name: “土建算量GCL2013”, parentid: 2, cnt: 6202},
{id: 8, name: “土建计量GTJ”, parentid: 2, cnt: 7911},
{id: 72, name: “服务产品”, parentid: 28, cnt: 417},
{id: 9, name: “钢结构算量GJG”, parentid: 2, cnt: 969},
{id: 73, name: “G+工作台”, parentid: 72, cnt: 213},
{id: 10, name: “装饰计量GDQ”, parentid: 2, cnt: 921},
{id: 74, name: “服务新干线”, parentid: 72, cnt: 84},
{id: 73163, name: “888”, parentid: 72216, cnt: 0},
{id: 11, name: “市政算量GMA”, parentid: 2, cnt: 1175},
{id: 73162, name: “777”, parentid: 72216, cnt: 0},
{id: 76, name: “加密锁”, parentid: 15, cnt: 300},
{id: 13, name: “安装算量GQI”, parentid: 2, cnt: 2680},
{id: 73164, name: “asd”, parentid: 15, cnt: 0},
{id: 15, name: “全局共性”, parentid: 28, cnt: 503},
{id: 16, name: “广联达擎洲产品”, parentid: 1, cnt: 969},
{id: 17, name: “行业计价”, parentid: 1, cnt: 1011},
{id: 72216, name: “test1”, parentid: 0, cnt: 0},
{id: 72218, name: “test12”, parentid: 72216, cnt: 0},
{id: 28, name: “软件问题库”, parentid: 0, cnt: 40884},
{id: 97, name: “建筑课堂”, parentid: 72, cnt: 120},
{id: 99, name: “造价云”, parentid: 15, cnt: 55},
{id: 101, name: “共性问题”, parentid: 15, cnt: 148},
{id: 72428, name: “计价gccp6”, parentid: 0, cnt: 0},
{id: 72110, name: “wxw”, parentid: 0, cnt: 0},
{id: 72123, name: “132222”, parentid: 72110, cnt: 0},
{id: 73147, name: “子分类2-TestStandardQAMultiCategory”, parentid: 73145, cnt: 0},
{id: 73149, name: “13”, parentid: 0, cnt: 0},
{id: 73148, name: “12”, parentid: 28, cnt: 0},
{id: 73151, name: “15”, parentid: 0, cnt: 0},
{id: 73150, name: “14”, parentid: 0, cnt: 0}
];
根据parentid,以及id对其进行递归,得到这样一组数据
最后利用antd的tree结构将其渲染到页面上。实现这样的效果
如何对数据进行递归?
const gettree=(arr)=>{
const parent={
id:0,
name:'全部分类'
};
const getnode=(id)=>{
const children=[];
for(let i=0;i<arr.length;i++){
if(id===arr[i].parentid){
children.push({
id:arr[i].id,
name:arr[i].name,
children:getnode(arr[i].id)
})
}
}
return children;
};
parent.children=getnode(0);
return [parent];
}
console.log(gettree(college));
然后再利用antd对这组数据进行操作即可