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 相关文章推荐
基于jQuery试卷自动排版系统
Jul 18 Javascript
JS实现可改变列宽的table实例
Jul 02 Javascript
js获取通过ajax返回的map型的JSONArray的方法
Jan 09 Javascript
javascript基本类型详解
Nov 28 Javascript
使用jquery组件qrcode生成二维码及应用指南
Feb 22 Javascript
Flash图片上传组件 swfupload使用指南
Mar 14 Javascript
Javascript中For In语句用法实例
May 14 Javascript
jQuery焦点图切换特效代码分享
Sep 15 Javascript
基于JavaScript实现Tab选项卡切换效果
Nov 24 Javascript
JavaScript函数的特性与应用实践深入详解
Dec 30 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
Sep 23 Javascript
Vue切换div显示隐藏,多选,单选代码解析
Jul 14 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(6) 面向对象
2010/02/16 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
2011/07/29 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
2009/08/09 Javascript
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
原生js获取left值和top值的三种方法
2017/08/02 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
Python素数检测实例分析
2015/06/15 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
2020/06/15 Python
python 三种方法实现对Excel表格的读写
2020/11/19 Python
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
物流专业大学的自我评价
2014/01/11 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书