vue实现省市区联动 element-china-area-data插件


Posted in Vue.js onApril 22, 2022

前言

前端开发的同学们应该都知道,省市区联动在日常开发中用的非常多,今天跟大家分享一款好用的插件 — element-china-area-data

安装

npm install element-china-area-data -S
cnpm install element-china-area-data -S

代码样例

<template>
  <div>
    <el-cascader size="large" :options="options" v-model="provinces" @change="handleChange" placeholder="请选择省市区"></el-cascader>
  </div>
</template>
 
<script>
import { regionData } from "element-china-area-data";//引入
export default {
  data() {
    return {
      options: regionData,//选择格式
      provinces: [], //省市区绑定数组
    };
  },

  methods: {
    // 事件触发
    handleChange(e) {
      console.log(e, "所选code值");
    },
  },
};
</script>

element-china-area-data 插件主要分成四种展示格式:

  • provinceAndCityData
  • provinceAndCityDataPlus
  • regionData
  • regionDataPlus

以下是设置不同属性时对应展示的格式:

1. provinceAndCityData 是省市两级联动数据且不带 "全部" 字样选项。当 options 的值为 provinceAndCityData 时,展示如下:

vue实现省市区联动 element-china-area-data插件

2. provinceAndCityDataPlus 是省市两级联动数据且显示 "全部" 字样选项。当 options 的值为 provinceAndCityDataPlus 时,展示如下:

vue实现省市区联动 element-china-area-data插件

3. regionData 是省市区三级联动数据且不带 "全部" 字样选项。当 options 的值为 regionData 时,展示如下:

vue实现省市区联动 element-china-area-data插件

4. regionDataPlus 是省市区三级联动数据且显示 "全部" 字样选项。当 options 的值为 regionDataPlus 时,展示如下:

vue实现省市区联动 element-china-area-data插件

注意: 当选择 “全部” 字样选项时,绑定的 value 值是空字符串。

vue实现省市区联动 element-china-area-data插件

案例

省市二级联动(不带“全部”选项):

<template>
  <div id="app">
    <el-cascader
      size="large"
      :options="options"
      v-model="selectedOptions"
      @change="handleChange">
    </el-cascader>
  </div>
</template>
 
<script>
  import { provinceAndCityData } from 'element-china-area-data'
  export default {
    data () {
      return {
        options: provinceAndCityData,
        selectedOptions: []
      }
    },
 
    methods: {
      handleChange (value) {
        console.log(value)
      }
    }
  }
</script>

省市二级联动(带“全部”选项):

<template>
  <div id="app">
    <el-cascader
      size="large"
      :options="options"
      v-model="selectedOptions"
      @change="handleChange">
    </el-cascader>
  </div>
</template>
 
<script>
  import { provinceAndCityDataPlus } from 'element-china-area-data'
  export default {
    data () {
      return {
        options: provinceAndCityDataPlus,
        selectedOptions: []
      }
    },
 
    methods: {
      handleChange (value) {
        console.log(value)
      }
    }
  }
</script>

省市三级联动(不带“全部”选项):

<template>
  <div id="app">
    <el-cascader
      size="large"
      :options="options"
      v-model="selectedOptions"
      @change="handleChange">
    </el-cascader>
  </div>
</template>
 
<script>
  import { regionData } from 'element-china-area-data'
  export default {
    data () {
      return {
        options: regionData,
        selectedOptions: []
      }
    },
 
    methods: {
      handleChange (value) {
        console.log(value)
      }
    }
  }
</script>

省市三级联动(带“全部”选项):

<template>
  <div id="app">
    <el-cascader
      size="large"
      :options="options"
      v-model="selectedOptions"
      @change="handleChange">
    </el-cascader>
  </div>
</template>
 
<script>
  import { regionDataPlus } from 'element-china-area-data'
  export default {
    data () {
      return {
        options: regionDataPlus,
        selectedOptions: []
      }
    },
 
    methods: {
      handleChange (value) {
        console.log(value)
      }
    }
  }
</script>

到此这篇关于vue基于element-china-area-data插件实现省市区联动的文章就介绍到这了!


Tags in this post...

Vue.js 相关文章推荐
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
如何封装Vue Element的table表格组件
Feb 06 Vue.js
vue常用高阶函数及综合实例
Feb 25 Vue.js
Vue多选列表组件深入详解
Mar 02 Vue.js
vue3.0 项目搭建和使用流程
Mar 04 Vue.js
vue中利用mqtt服务端实现即时通讯的步骤记录
Jul 01 Vue.js
使用vue判断当前环境是安卓还是IOS
Apr 12 Vue.js
vue3种table表格选项个数的控制方法
Apr 14 Vue.js
vue特效之翻牌动画
Apr 20 Vue.js
vue实现省市区联动 element-china-area-data插件
Apr 22 Vue.js
ant design vue的form表单取值方法
Jun 01 Vue.js
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
Aug 05 Vue.js
vue修饰符.capture和.self的区别
Apr 22 #Vue.js
vue 自定义组件添加原生事件
Apr 21 #Vue.js
vue 自定义的组件绑定点击事件
Apr 21 #Vue.js
vue组件vue-esign实现电子签名
Apr 21 #Vue.js
vue动态绑定style样式
Apr 20 #Vue.js
Vue OpenLayer测距功能的实现
vue 给数组添加新对象并赋值
Apr 20 #Vue.js
You might like
PHP中读写文件实现代码
2011/10/20 PHP
php查询操作实现投票功能
2016/05/09 PHP
PHP钩子实现方法解析
2019/05/21 PHP
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
2016/05/03 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
通过vue刷新左侧菜单栏操作
2020/08/06 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
JS+CSS实现动态时钟
2021/02/19 Javascript
[00:14]护身甲盾
2019/03/06 DOTA
python的三目运算符和not in运算符使用示例
2014/03/03 Python
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
python操作mysql代码总结
2018/06/01 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
python不同系统中打开方法
2020/06/23 Python
基于Python实现简单学生管理系统
2020/07/24 Python
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
《月迹》教学反思
2014/02/19 职场文书
个人委托书
2014/07/31 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
给客户的感谢信
2015/01/21 职场文书
结婚十年感言
2015/07/31 职场文书
汽车销售员工作总结
2015/08/12 职场文书
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers