地址级联选择器(element-china-area-data插件)

1.安装

npm install element-china-area-data -S

2.引入

import {regionData, CodeToText, TextToCode} from 'element-china-area-data';

3.使用

<el-cascader :options="areaSelectData" :change-on-select="true" :clearable="true" :filterable="true"
@change="handleChange" class="full-width" size="medium" v-model="form.selectedOptions" />


data() {
  areaSelectData: regionData, // options绑定的数据就是引入的 regionData
}

// 选择公司所在省、市、区
handleChange() {
// form.selectedOptions是地址数组,分别对应省市区,下面的操作是将数组转变为字符串保存,如果不需要以字符串形式保存,可以忽略
this.form.province = this.form.selectedOptions[0];
this.form.city = this.form.selectedOptions[1];
this.form.area = this.form.selectedOptions[2];
if (this.form.province !== undefined) {
this.buildSurveyData.damRegisterOne.constructionPlace = CodeToText[this.form.province] + ' ';
}
if (this.form.city !== undefined) {
this.buildSurveyData.damRegisterOne.constructionPlace += CodeToText[this.form.city] + ' ';
}
if (this.form.area !== undefined) {
// 拼接公司详细地址
this.buildSurveyData.damRegisterOne.constructionPlace += CodeToText[this.form.area] + ' ';
}


// 由于上面将地址转为了字符串,所以在加载页面获取数据时,要重新将字符串转为数组。下面是对数据的处理
if(this.buildSurveyData.damRegisterOne.constructionPlace) {
let address = this.buildSurveyData.damRegisterOne.constructionPlace.split(' ');
// 省份
this.form.selectedOptions.push(TextToCode[address[0]].code);
// 城市
let cityCode = TextToCode[address[0]][address[1]].code;
this.form.selectedOptions.push(cityCode);
// 地区
let areaCode = TextToCode[address[0]][address[1]][address[2]].code;
this.form.selectedOptions.push(areaCode);
}


 

转载于:https://www.cnblogs.com/xinci/p/10271686.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值