vue 城市选择器(省市区)的使用 element-china-area-data报错

文章介绍了如何正确安装和使用element-china-area-data插件来实现省市区三级联动功能,特别指出在使用CodeToText时可能出现的错误,并提供了解决方案,即安装5.0.2稳定版本。示例代码展示了在Vue中如何结合ElementUI的el-cascader组件进行数据绑定和事件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插件官网 :https://www.npmjs.com/package/element-china-area-data

1. 安装

npm install element-china-area-data -S

2. script引用用

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

regionData是省市区三级联动数据(不带“全部”选项)
CodeToText是个大对象,属性是区域码,属性值是汉字 用法例如:CodeToText[‘110000’]输出北京市
extToCode是个大对象,属性是汉字,属性值是区域码用法例如:TextToCode[‘北京市’].code输出110000,TextToCode[‘北京市’][‘市辖区’].code输出110100,TextToCode[‘北京市’][‘市辖区’][‘朝阳区’].code输出110105

3.使用

<el-form-item
          label="设备地区"
          prop="cascader"
        >
          <el-cascader
            ref="cascaderAddr"
            v-model="selectedOptions"
            size="large"
            :options="options"
            placeholder="请选择地区"
            @change="handleChange"
          />
        </el-form-item>

你会发现报错
在这里插入图片描述

使用CodeToText报错 原因博主找了好久,最后才找到,
下载的时候默认下载最新版本的, 稳定版本5.0.2版本才可以


npm install element-china-area-data@5.0.2  -S

在这里插入图片描述

就可以啦整体代码

 <el-form-item prop="areaCode" label="所在地区" :label-width="formLabelWidth">
          <el-cascader
            class="widthSmall"
            size="large"
            :options="options"
            v-model="selectedOptions"
            @change="addressChange">
          </el-cascader>
 </el-form-item>





import { regionData,CodeToText } from 'element-china-area-data'
 
  //data中定义参数
  data(){
      return{
       form:{},
       options: regionData, //省市区数据
       selectedOptions:[], // 选中的地区
      }
  },
   created() {
            // 初始化省市区
          this.selectedOptions = [this.form.provinceCode,this.form.cityCode,this.form.areaCode];
    },
methods: {
 
addressChange(arr) {
      var _this = this;
      console.log(arr);
      console.log(CodeToText[arr[0]], CodeToText[arr[1]], CodeToText[arr[2]]);
      _this.form.provinceCode = arr[0];
      _this.form.cityCode = arr[1];
      _this.form.areaCode = arr[2];
  },
}

最后效果:

在这里插入图片描述

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值