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中遭遇级联表达式陷阱
Mar 08 Javascript
基于jquery的checkbox下拉框插件代码
Jun 25 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
Feb 14 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
Nov 05 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 Javascript
JS 按钮点击触发(兼容IE、火狐)
Aug 07 Javascript
JavaScript中Null与Undefined的区别解析
Jun 30 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
Jul 04 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
Jan 30 Javascript
vue style width a href动态拼接问题的解决
Aug 07 Javascript
javascript实现倒计时关闭广告
Feb 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
dedecms模板标签代码官方参考
2007/03/17 PHP
php写的简易聊天室代码
2011/06/04 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
JavaScript操作URL的相关内容集锦
2015/10/29 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
使用 vue 实现灭霸打响指英雄消失的效果附demo
2019/05/06 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
python使用cPickle模块序列化实例
2014/09/25 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
详解python持久化文件读写
2019/04/06 Python
通过celery异步处理一个查询任务的完整代码
2019/11/19 Python
详解Python IO口多路复用
2020/06/17 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
2019年.net常见面试问题
2012/02/12 面试题
C#实现对任一张表的数据进行增,删,改,查要求,运用Webservice,体现出三层架构
2014/07/11 面试题
房地产开盘策划方案
2014/02/10 职场文书
运动会广播稿100字
2014/09/14 职场文书
2014年度个人工作总结
2014/11/07 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
武侯祠导游词
2015/02/04 职场文书
总结会主持词
2015/07/02 职场文书