1. 效果图

2. 版本依赖  vue 2.X , elementui  2.0.11  使用element ui  <el-form>标签

3. 源码  components/CityList/index

  

  1. <template>
  2. <el-form ref="form" :model="form" label-width="100px">
  3. <el-form-item label="所在地区:">
  4. <el-cascader v-model="form.selectedOptions" :options="CityInfo" @change="handleChange"
  5. :change-on-select="true" :clearable="true"
  6. :filterable="true"></el-cascader>
  7. <!--<span>所选地区:{{ prov }} {{city}} {{area}}</span>-->
  8. </el-form-item>
  9. </el-form>
  10. </template>
  11. <script>
  12. const CityInfo = require('static/city-data.js')
  13. export default {
  14. data() {
  15. return {
  16. CityInfo: CityInfo['default'],
  17. form: {
  18. city: '',
  19. erae: '',
  20. minerae: '',
  21. selectedOptions: []
  22. }
  23. }
  24. },
  25. methods: {
  26. handleChange(value) {
  27. this.form.city = this.form.selectedOptions[0]
  28. this.form.erae = this.form.selectedOptions[1]
  29. this.form.minerae = this.form.selectedOptions[2]
  30. if (this.area) {
  31. this.$emit('sendCityData', { prov: this.prov, city: this.city, area: this.area })
  32. }
  33. }
  34. },
  35. computed: {
  36. prov: function() {
  37. const Prov = this.form.city
  38. for (var y in CityInfo['default']) {
  39. if (CityInfo['default'][y].value === Prov) {
  40. return CityInfo['default'][y].label
  41. }
  42. }
  43. },
  44. city: function() {
  45. const City = this.form.erae
  46. for (var y in CityInfo['default']) {
  47. for (var z in CityInfo['default'][y].children) {
  48. if (CityInfo['default'][y].children[z].value === City && City !== undefined) {
  49. return CityInfo['default'][y].children[z].label
  50. }
  51. }
  52. }
  53. },
  54. area: function() {
  55. const Area = this.form.minerae
  56. for (var y in CityInfo['default']) {
  57. for (var z in CityInfo['default'][y].children) {
  58. for (var i in CityInfo['default'][y].children[z].children) {
  59. if (CityInfo['default'][y].children[z].children[i].value === Area && Area !== undefined) {
  60. return CityInfo['default'][y].children[z].children[i].label
  61. }
  62. }
  63. }
  64. }
  65. }
  66. }
  67. }
  68. </script>

4. 引入 调用

  1. <template>
  2. <div>
  3. <h2>当前从组件传递过来的省市数据:</h2>
  4. <p>{{CityList}}</p>
  5. <city-list @sendCityData="getCity"></city-list>
  6. </div>
  7. </template>
  8. <script>
  9. import CityList from '@/components/CityList/index.vue'
  10. export default {
  11. components: { CityList },
  12. data() {
  13. return {
  14. CityList: ''
  15. }
  16. },
  17. methods: {
  18. getCity(cityList) {
  19. this.CityList = cityList
  20. }
  21. }
  22. }
  23. </script>

5. git地址 https://github.com/IceGogh/vue-components

VUE2.0 elemenui-ui 2.0.X 封装 省市区三级的更多相关文章

  1. vue2.0 + Element UI + axios实现表格分页

    注:本文分页组件用原生 html + css 实现,element-ui里有专门的分页组件可以不用自己写,详情见另一篇博客:https://www.cnblogs.com/zdd2017/p/1115 ...

  2. sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug

    在华为emotion ui 2.0自带的浏览器中,给部分组件设置了圆角后会发现背景仍然是方的,内部边框是圆的, 对于这种bug, 只需在对应的设置圆角的css样式中加入 background-clip ...

  3. AFNetworking2.0简易GET,POST请求封装以及使用

    AFNetworking2.0简易GET,POST请求封装以及使用 AFNetworking不用我赘述其强大性,本人仅仅做了非常简易的封装,解决了有时候请求出错的问题,提供源码给大家. 封装源码库下载 ...

  4. c#学习<四>:C#2.0、C#3.0

    委托的演变 委托(C#1.0) 委托可看作是只定义了一个方法的接口,将委托的实例看作实现了这个接口的一个对象. 委托的执行要满足4个条件: 1. 声明委托类型                     ...

  5. Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(三)

    前两章我为大家详细介绍了如何搭建Maven环境.Spring MVC的流程结构.Spring MVC与Struts2的区别以及示例中的一些配置文件的分析.在这一章,我就对示例的层次结构进行说明,以及M ...

  6. HTTP协议以及HTTP2.0/1.1/1.0区别

    HTTP协议以及HTTP2.0/1.1/1.0区别 一.简介 摘自百度百科: 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所 ...

  7. ASP.NET Core 共享第三方依赖库部署的Bug(*.deps.json on 2.2.0 or 4.6.0 版本)

    背景: I try to put the Microsoft.*.dll and System.*.dll togather to a new folder.以便把(第三方或)系统的和应用的dll分开 ...

  8. HTTP协议详解及http1.0与http1.1http2.0的区别

    HTTP协议介绍 http(超文本传输协议)是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.特点: (1)支持客户/服务器模式. HTTP是一个客户端和服务器端请 ...

  9. android 版本更新适配8.0,解决8.0手机无法更新自动安装apk

    随着android 7.0的普及android 8.0的也逐渐流行起来,那么google对权限方面又有了新的修改.而且我发现在android8.0中除了一些bug,比如说:在小米6(Android 8 ...

随机推荐

  1. [国嵌攻略][182][Sqlite嵌入式数据库移植]

    数据库系统构成 在计算机系统中,保存数据的方式一般有两种: 1.普通文件方式 2.数据库方式 相比于普通文件方式,使用数据库来管理大批量数据具有更高的效率与安全性. 数据库系统一般由三个部分构成 1. ...

  2. [国嵌攻略][163][linux-usb软件系统架构]

    软件系统架构 1.主机端软件架构 USB设备驱动->USB核心->USB主控制器驱动->USB主控制器 2.设备端软件架构 Gadget驱动->Gadget API->U ...

  3. 微信小程序多列选择器之range-key

    <picker mode="multiSelector" bindchange="bindMultiPickerChange2" bindcolumnch ...

  4. Sass嵌套

    Sass 中还提供了选择器嵌套功能,但这也并不意味着你在 Sass 中的嵌套是无节制的,因为你嵌套的层级越深,编译出来的 CSS 代码的选择器层级将越深,这往往是大家不愿意看到的一点. 选择器嵌套为样 ...

  5. Spark算子--SortBy

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/39edcbb10b5076599c0e5609b7136b88.html SortBy--Transforma ...

  6. Spark算子--SortByKey

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/076a31e7caab1316b07990c02ac65e9c.html  SortByKey--Transf ...

  7. 一致性哈希java实现

    值得注意的点 哈希函数的选择 murmur哈希函数 该函数是非加密型哈希,性能高,且发生哈希碰撞的概率据说很低 md5 SHA 可以选择guava包,提供了丰富的哈希函数的API 支持虚拟节点+加权, ...

  8. 规范的python编码

    规范的 python 编码令人赏心悦目,令代码的表达逻辑更清晰,使得工程代码更容易被维护和交流: 编码规范包括对于代码书写格式的约束,不良语法的禁用和推荐的编码手法,下面做些简要的描述: 1. 代码规 ...

  9. GBK,UTF8是什么?有什么区别,做网站选择哪种好?

    GBK包含全部中文字符: UTF-8则包含全世界所有国家需要用到的字符. GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准) UTF-8编码的文字可以在各国各种支持 ...

  10. sublime 中HTML快捷键