vue基于mint-ui实现城市选择三级联动


Posted in Javascript onJune 30, 2020

项目是基于vue2 的移动端项目,供大家参考,具体内容如下

1、实际效果

vue基于mint-ui实现城市选择三级联动

地址三级联动 mint-ui picker.png

2、首先你需要去下载一个包含中国省份,城市,区县的数据

如下:
(这个地址里面包含二级联动数据,三级联动数据,四级联动数据等,找到自己需要的)
(一个更好的中国地区数据,推荐用这个)

3、具体代码

主要是用到了mint-ui的picker组件,关于mint-ui的使用就自行看官网

Ⅰ、html组件

<div>
 <mt-picker :slots="myAddressSlots" @change="onMyAddressChange"></mt-picker>
 <p>地址3级联动:{{myAddressProvince}} {{myAddressCity}} {{myAddresscounty}}</p>
</div>

Ⅱ、组件方法

 

<script>
 import { Picker } from 'mint-ui';
 import myaddress from '../../../static/address3.json' //引入省市区数据
 export default {
 name: '',
 components: {
 'mt-picker': Picker
 },
 props: {},
 data () {
 return {
 myAddressSlots: [
  {
  flex: 1,
  defaultIndex: 1, 
  values: Object.keys(myaddress), //省份数组
  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'
  }
 ],
 myAddressProvince:'省',
 myAddressCity:'市',
 myAddresscounty:'区/县',
 }
 },
 created() {


 },
 methods: {
 onMyAddressChange(picker, values) {
 if(myaddress[values[0]]){ //这个判断类似于v-if的效果(可以不加,但是vue会报错,很不爽)
  picker.setSlotValues(1,Object.keys(myaddress[values[0]])); // Object.keys()会返回一个数组,当前省的数组
  picker.setSlotValues(2,myaddress[values[0]][values[1]]); // 区/县数据就是一个数组
  this.myAddressProvince = values[0];
  this.myAddressCity = values[1];
  this.myAddresscounty = values[2];
 }
 },
 },
 mounted(){
 this.$nextTick(() => { //vue里面全部加载好了再执行的函数 (类似于setTimeout)
 this.myAddressSlots[0].defaultIndex = 0 
 // 这里的值需要和 data里面 defaultIndex 的值不一样才能够初始化
 //因为我没有看过源码(我猜测是因为数据没有改变,不会触发更新)
 });
 }
 }
</script>

参考文章 vue mint-ui 实现省市区街道4级联动(mint-ui picker 的四级联动)

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

Javascript 相关文章推荐
20个非常棒的Jquery实用工具 国外文章
Jan 01 Javascript
解决遍历时Array.indexOf产生的性能问题
Jul 03 Javascript
使用jquery实现简单的ajax
Jul 08 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
Jun 06 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
Aug 22 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
Sep 02 Javascript
Node.js事件驱动
Jun 18 Javascript
js 定位到某个锚点的方法
Nov 19 Javascript
Angular.js实现动态加载组件详解
May 28 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 jQuery
ES6 Proxy实现Vue的变化检测问题
Jun 11 Javascript
原生js实现弹窗消息动画
Nov 20 Javascript
vue中mint-ui的使用方法
Apr 04 #Javascript
JS实现访问DOM对象指定节点的方法示例
Apr 04 #Javascript
JS实现DOM删除节点操作示例
Apr 04 #Javascript
JS实现的DOM插入节点操作示例
Apr 04 #Javascript
AngularJS 应用模块化的使用
Apr 04 #Javascript
vue todo-list组件发布到npm上的方法
Apr 04 #Javascript
D3.js实现简洁实用的动态仪表盘的示例
Apr 04 #Javascript
You might like
PHP 批量删除 sql语句
2009/06/05 PHP
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
javascript实现二分查找法实现代码
2007/11/12 Javascript
最新28个很棒的jQuery 教程
2011/05/28 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
JS实现控制表格内指定单元格内容对齐的方法
2015/03/30 Javascript
使用jQuery实现更改默认alert框体
2015/04/13 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
2017/08/14 jQuery
浅析Vue实例以及生命周期
2018/08/14 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
Python选课系统开发程序
2016/09/02 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
将python文件打包exe独立运行程序方法详解
2020/02/12 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
2020/03/30 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
远东集团网络工程师面试题
2014/10/20 面试题
简单叙述一下MYSQL的优化
2016/05/09 面试题
美国探亲签证邀请信
2014/02/05 职场文书
土木工程专业推荐信
2014/02/19 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
windows安装python超详细图文教程
2021/05/21 Python
Python中的tkinter库简单案例详解
2022/01/22 Python
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis