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 相关文章推荐
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
Jun 19 Javascript
THREE.JS入门教程(4)创建粒子系统
Jan 24 Javascript
js基础知识(公有方法、私有方法、特权方法)
Nov 06 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
Nov 29 Javascript
Bootstrap表单组件教程详解
Apr 26 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
May 20 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
Nov 29 Javascript
css和js实现弹出登录居中界面完整代码
Nov 26 Javascript
jfinal与bootstrap的登出实战详解
Nov 27 Javascript
详解nuxt路由鉴权(express模板)
Nov 21 Javascript
JS实现轮播图效果
Jan 11 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
Sep 22 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页面缓存ob系列函数介绍
2012/10/18 PHP
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
node网页分段渲染详解
2016/09/05 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
2016/12/22 Javascript
详解Node.js实现301、302重定向服务
2017/04/07 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
为什么称python为胶水语言
2020/06/16 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
Java如何格式化日期
2012/08/07 面试题
自我鉴定标准格式
2014/03/19 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
2015年幼儿园国庆节活动总结
2015/07/30 职场文书
2016暑期社会实践心得体会范文
2016/01/14 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
JS的深浅复制详细
2021/10/16 Javascript