从一个需求谈起在我之前的项目中,曾经遇到过这样一个需求,编写一个级联选择器,大概是这样:图中的示例使用的是Ant-Design的Cascader组件。要实现这一功能,我需要类似这样的数据结构:var data = [{
"value": "浙江",
"children": [{
"value": "杭州",
"children": [{
"value": "西湖"
}]
}]
}, {
"value": "四川",
"children": [{
"value": "成都",
"children": [{
"value": "锦里"
}, {
"value": "方所"
}]
}, {
"value": "阿坝",
"children": [{
"value": "九寨沟"
}]
}]
}]一个具有层级结构的数据,实现这个功能非常容易,因为这个结构和组件的结构是一致的,递归遍历就可以了。但是,由于后端通常采用的是关系型数据库,所以返回的数据通常会是这个样子:var data = [{
"province": "浙江",
"city": "杭州",
"name": "西湖"
}, {
"province": "四川"
...
继续阅读
(41)