element-china-area-data 中国省市区级联选择器

1.安装

npm install element-china-area-data -S

2. 说明
文档:element-china-area-data - npm

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

3. 数据库设计

如果需要分别按照省、市统计,建议构建两个字段

 4.  elementUI显示

     <el-form-item label="地址" prop="goodCode">
          <el-cascader
            size="large"
            :options="options"
            v-model="selectedOptions"
            @change="handleChange">
          </el-cascader>
        </el-form-item>

 导入:

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

数据

  data() {
    return {
      options: provinceAndCityData,
      selectedOptions: [],
    };
  },

方法:

    //省市联动-选择框选择
    handleChange (value) {
      var provinceCode = CodeToText[value[0]];
      var cityCode = CodeToText[value[1]];
      this.selectedOptions = [value[0] , value[1]]
      this.form.goodProvince = provinceCode
      this.form.goodCity  = cityCode
      console.log(provinceCode)
      console.log(cityCode)

    },
    //省市联动-选择框显示
    getAddressInfo() {

      this.addressSelections = [];
      let provinceCode= TextToCode[this.form.goodProvince].code;
      let cityCode= TextToCode[this.form.goodProvince][this.form.goodCity].code;
      this.selectedOptions = [provinceCode , cityCode]
    },

5. 效果

6. 如果省市二级联动(带“全部”选项):,则options改为provinceAndCityDataPlus

<script>
 import { provinceAndCityDataPlus } from 'element-china-area-data'
 export default { 
   data () {
     return {
       options: provinceAndCityDataPlus,
       selectedOptions: []
     }
   },
   methods: {
     handleChange (value) {
       console.log(value)
     }
   }
 }
</script>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值