先来看看我们请求回来的数据是什么样子的:
city: {
11: {
1101: "市辖区"
}
}
county: {
1101: Object
110101: "东城区"
110102: "西城区"
110105: "朝阳区"
110106: "丰台区"
110107: "石景山区"
}
provincetr:
11: "北京市"
12: "天津市"
13: "河北省"
14: "山西省"
15: "内蒙古自治区"
21: "辽宁省"
22: "吉林省"
23: "黑龙江省"
31: "上海市"
32: "江苏省"
33: "浙江省"
34: "安徽省"
35: "福建省"
36: "江西省"
37: "山东省"
41: "河南省"
42: "湖北省"
43: "湖南省"
44: "广东省"
45: "广西壮族自治区"
46: "海南省"
50: "重庆市"
51: "四川省"
52: "贵州省"
53: "云南省"
54: "西藏自治区"
61: "陕西省"
62: "甘肃省"
63: "青海省"
64: "宁夏回族自治区"
65: "新疆维吾尔自治区"
这里我们使用的是 element-ui 的 el-cascader
<el-form-item label="所在省市区" prop="selectedOptions">
<el-cascader
:options="options"
v-model="selectedOptions"
@change="handleChange"
>
</el-cascader>
</el-form-item>
我们处理的数据如下:
// 处理省市级数据
handlePCDData(res) {
this.province = res.provincetr
this.city = res.city
this.county = res.county
this.options = []
// TODO: 暂时这样处理,后面优化代码
Object.keys(this.province).forEach((key) => {
this.options.push({
value: key,
label: this.province[key],
children: []
})
})
Object.keys(this.city).forEach(key => {
this.options.forEach(item =&g