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 相关文章推荐
JavaScript脚本语言在网页中的简单应用
May 13 Javascript
form表单中去掉默认的enter键提交并绑定js方法实现代码
Apr 01 Javascript
jQuery实现冻结表格行和列
Apr 29 Javascript
js中跨域方法原理详解
Jul 19 Javascript
javascript中对Date类型的常用操作小结
May 19 Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 Javascript
canvas实现图像截取功能
Feb 06 Javascript
分分钟玩转Vue.js组件(二)
Mar 01 Javascript
Vue项目中引入外部文件的方法(css、js、less)
Jul 24 Javascript
JavaScript实现单例模式实例分享
Dec 22 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
May 13 Javascript
基于vue hash模式微信分享#号的解决
Sep 07 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
IE8 浏览器Cookie的处理
2009/01/31 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
JS运动特效之同时运动实现方法分析
2018/01/24 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
python单例模式实例分析
2015/04/08 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
详解python tcp编程
2020/08/24 Python
python PIL模块的基本使用
2020/09/29 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
医学院毕业生自荐信
2013/11/08 职场文书
慈善晚会策划方案
2014/05/14 职场文书
教师政风行风自查自纠报告
2014/10/21 职场文书
六一亲子活动感想
2015/08/07 职场文书
工作转正自我鉴定范文
2019/06/21 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
python常见的占位符总结及用法
2021/07/02 Python
使用Ajax实现进度条的绘制
2022/04/07 Javascript