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 相关文章推荐
Javscript调用iframe框架页面中函数的方法
Nov 01 Javascript
js实现的黑背景灰色二级导航菜单效果代码
Aug 24 Javascript
json数据处理及数据绑定
Jan 25 Javascript
js表单序列化判断空值的实例
Sep 22 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
Nov 21 Javascript
vue项目中的webpack-dev-sever配置方法
Dec 14 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
Mar 06 Javascript
微信小程序实现跑马灯效果
Oct 21 Javascript
关于React动态加载路由处理的相关问题
Jan 07 Javascript
vue自定义正在加载动画的例子
Nov 14 Javascript
React中获取数据的3种方法及优缺点
Feb 18 Javascript
JS Thunk 函数的含义和用法实例总结
Apr 08 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利用COM对象访问SQLServer、Access
2006/10/09 PHP
php实现用户在线时间统计详解
2011/10/08 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
关于删除时的提示处理(确定删除吗)
2013/11/03 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
js实现简单计算器
2015/11/22 Javascript
jqGrid用法汇总(全经典)
2016/06/28 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
vue axios 二次封装的示例代码
2017/12/08 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
详解Python3中的Sequence type的使用
2015/08/01 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
Python有参函数使用代码实例
2020/01/06 Python
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
自荐信结尾
2013/10/27 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
学校教学工作总结2015
2015/05/19 职场文书
不同意离婚代理词
2015/05/23 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA