问题描述
antd开发cascader过程中,后台返回给我的json是这样的:
{"content":[{"id":1,"code":"1001","pid":0,"nameCn":"网关","nameEn":"gateway"},{"id":2,"code":"1002","pid":0,"nameCn":"网桥","nameEn":"bridge"},{"id":3,"code":"1003","pid":0,"nameCn":"终端","nameEn":"terminal"},{"id":4,"code":"1004","pid":3,"nameCn":"耳标","nameEn":"ear tag"},{"id":5,"code":"1005","pid":3,"nameCn":"水位监测终端","nameEn":"water level monitoring terminal"},{"id":6,"code":"1006","pid":3,"nameCn":"电子通风器","nameEn":"electronic ventilator"},{"id":7,"code":"1007","pid":1,"nameCn":"网关","nameEn":"gateway"},{"id":8,"code":"1008","pid":2,"nameCn":"WiFi 网桥","nameEn":"WIFI bridge"}],"status":"OK","errorCode":null,"errorMsg":null}
你期待的结果是什么?实际看到的错误信息又是什么?
首先根据pid=0筛选出1级类目,然后再根据1级类目的id是否等于其他的pid筛选出2级,value是id,lable是nameCn,最后希望得到的数据格式:
coptions = [
{
value: '1',
label: '网关',
children: [
{
value: '7',
label: '网关',
},
],
},
{
value: '2',
label: '网桥',
children: [
{
value: '8',
label: 'WIFI 网桥',
},
],
},
{
value: '3',
label: '终端',
children: [
{
value: '4',
label: '耳标',
},
{
value: '5',
label: '水位监测终端',
},
{
value: '6',
label: '电子通风器',
},
],
},
]
我自己之前用filter筛选出pid>0和小于0的两个数组,后续不知道要怎么写,请教各位,谢谢