使用的json格式跟官方不一样,那要如何解决呢?
说一下我的解决方法,网上是没有的(反正我没找到)
官方json格式:
我的json格式:
效果图:
直接正题如何解决:
html
<el-select
@change="ProChanges"
v-model="box.SupplierInfo.province"
placeholder="请选择省份"
>
<el-option v-for="item in proOptions" :key="item" :label="item" :value="item"></el-option>
</el-select>
data:
// 地址省份
proOptions: [],
// 地址市
cityKey: "",
cityOptions: []
methods:
ProChanges(val) {
var that = this;
let jsonArray = Daily.address["0"];
let s1 = "0";
// 遍历版json数组
let info = test.comTraverse(jsonArray, val, s1);
that.box.SupplierInfo.cityKey = info[0]; //获取key总值
that.cityOptions = info[1]; //通过key值获取市或区的值
},
test.js
// 遍历json数组
export function comTraverse(jsonArray, val, s2) {
var s1 = s2;
var cityOptions = [];
for (var key in jsonArray) {
var value = jsonArray[key];
if (value == val) {
s1 = s1.concat("," + key);
cityOptions = Daily.address[s1];
}
}
return [s1, cityOptions];
}
结尾:要是有更好的方法可以分享一下哦
在JS方法中返回多个值的三种方法连接:
https://www.cnblogs.com/gxsyj/p/6004574.html