vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)


Posted in Javascript onOctober 16, 2017

本文介绍了vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)

先去下载一个“省份、城市、区县、乡镇” 四级联动数据,然后

引入

import { Picker } from 'mint-ui'; //前提是npm install mint-ui -S

Vue.component(Picker.name, Picker);

组件使用

<mt-picker :slots="addressSlots" class="picker" @change="onAddressChange" :visible-item-count="5" ></mt-picker >

<mt-picker :slots="streetSlots" ref="picker" class="picker" @change="onStreetChange" :visible-item-count="5" ></mt-picker >
上门服务地址:{{ addressProvince }} {{ addressCity }}

组件方法

<script type="text/ecmascript-6" >
 
 import s from '../../statics/mobile/json/address4.json'
 
 export default {
  name: 'address',
  data () {
   return {
    companyName:'',
    addressSlots: [
     {
      flex: 1,
      defaultIndex: 1,
      values: Object.keys(s),
      className: 'slot1',
      textAlign: 'center'
     }, {
      divider: true,
      content: '-',
      className: 'slot2'
     }, {
      flex: 1,
      values: [],
      className: 'slot3',
      textAlign: 'center'
     }, {
      divider: true,
      content: '-',
      className: 'slot4'
     }, {
      flex: 1,
      values: [],
      className: 'slot5',
      textAlign: 'center'
     }
    ],
    streetSlots: [
     {
      flex: 1,
      values: [],
      className: 'slot1',
      textAlign: 'center'
     }
    ],
    addressProvince: '省',
    addressCity: '市',
    addressXian: '区',
    addressStreet: '街道',
    
   }
  },
  methods: {
   
   onAddressChange(picker, values) {
    let sheng = Object.keys(s);
    let shi = Object.keys(s[values[0]]);



let index=shi.indexOf(values[1])



let xian = s[values[0]][shi[index]];


 this.xianObj = xian;
    picker.setSlotValues(1, shi);
    this.addressProvince = values[0];
    this.addressCity = values[1];
    this.addressXian = values[2];
    picker.setSlotValues(2, Object.keys(xian));
   },
   onStreetChange(picker, values){
    this.addressStreet = values[0]
   },
  
  
  },
  watch: {
   'addressXian': {
    handler(val, oval){
     let street = this.xianObj[this.addressXian]
     this.streetSlots[0].values = street
    }
   }
  },
  created(){
   
  },
  mounted(){
   this.$nextTick(() => {
    setTimeout(() => {//这个是一个初始化默认值的一个技巧
     this.addressSlots[0].defaultIndex = 0;
    }, 100);
   });



  }
 }
</script >

完成效果

vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript之querySelector和querySelectorAll使用说明
Oct 09 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
Apr 27 Javascript
JS实现n秒后自动跳转的两种方法
Nov 30 Javascript
基于AngularJS的简单使用详解
Sep 10 Javascript
JavaScript轮播停留效果的实现思路
May 24 Javascript
webpack4+react多页面架构的实现
Oct 25 Javascript
vue2.0结合Element-ui实战案例
Mar 06 Javascript
Vue中的transition封装组件的实现方法
Aug 13 Javascript
详解利用eventemitter2实现Vue组件通信
Nov 04 Javascript
js判断非127开头的IP地址的实例代码
Jan 05 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 Javascript
关于angular引入ng-zorro的问题浅析
Sep 09 Javascript
jquery一键控制checkbox全选、反选或全不选
Oct 16 #jQuery
Vue2.0父子组件传递函数的教程详解
Oct 16 #Javascript
使用clipboard.js实现复制功能的示例代码
Oct 16 #Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 #Javascript
JavaScript简单实现合并两个Json对象的方法示例
Oct 16 #Javascript
seajs实现强制刷新本地缓存的方法分析
Oct 16 #Javascript
基于ajax和jsonp的原生封装(实例)
Oct 16 #Javascript
You might like
无数据库的详细域名查询程序PHP版(5)
2006/10/09 PHP
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
微信支付扫码支付php版
2016/07/22 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
2015/09/22 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
js实现随机点名功能
2020/12/23 Javascript
Python实现曲线点抽稀算法的示例
2017/10/12 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
python爬取哈尔滨天气信息
2018/07/14 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
使用Python文件读写,自定义分隔符(custom delimiter)
2020/07/05 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
python 如何对logging日志封装
2020/12/02 Python
用python制作个音乐下载器
2021/01/30 Python
python爬取2021猫眼票房字体加密实例
2021/02/19 Python
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
企业给企业的表扬信
2014/01/13 职场文书
机械专业求职信范文
2014/07/15 职场文书
前台接待岗位职责
2015/02/03 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
惊天动地观后感
2015/06/10 职场文书
初婚未育证明样本
2015/06/18 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
使用pandas模块实现数据的标准化操作
2021/05/14 Python
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA
Nginx配置之禁止指定IP访问
2022/05/02 Servers