参考文章
数据:
data: any = [
{
area_id: 5,
name: '广东省',
parent_id: 0,
},
{
area_id: 6,
name: '广州市',
parent_id: 5,
},
{
area_id: 12,
name: 'sss',
parent_id: 6,
},
{
area_id: 7,
name: '深圳市',
parent_id: 5,
},
{
area_id: 4,
name: '北京市',
parent_id: 3,
},
{
area_id: 3,
name: '北京',
parent_id: 0,
},
{
area_id: 2,
name: '测试子地区',
parent_id: 1,
},
{
area_id: 1,
name: '测试地区',
parent_id: 0,
}
];
方法一,递归调用
我用的是ts规范,代码是ts风格的
// 提取根节点
const parentList = this.adcdsList.filter((item: any) => {
return item.parent_id=== 0;
});
getOrderTreeList(data: any, dataArr: any) {
// tslint:disable-next-line:prefer-for-of
for (let i = 0; i < dataArr.length; i++) {
const childrenArr: any = data.filter((item: any) => {
ret