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 相关文章推荐
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
Jun 11 Javascript
JavaScript中关于indexOf的使用方法与问题小结
Aug 05 Javascript
js DOM 元素ID就是全局变量
Sep 20 Javascript
javascript实现2016新年版日历
Jan 25 Javascript
javascript运算符——位运算符全面介绍
Jul 14 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
Dec 21 Javascript
基于JS设计12306登录页面
Dec 28 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
May 30 Javascript
用JavaScript做简易的购物车的代码示例
Oct 20 Javascript
使用Angular自定义字段校验指令的方法示例
Feb 01 Javascript
深入分析JavaScript 事件循环(Event Loop)
Jun 19 Javascript
js前端图片加载异常兜底方案
Jun 21 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显示MySQL数据的三种方法
2008/06/05 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
JS匿名函数实例分析
2016/11/26 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
JavaScript常用数学函数用法示例
2018/05/14 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
[39:32]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第二场
2014/05/23 DOTA
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
python发送arp欺骗攻击代码分析
2014/01/16 Python
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Python3.x对JSON的一些操作示例
2017/09/01 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
pandas分区间,算频率的实例
2019/07/04 Python
python批量读取文件名并写入txt文件中
2020/09/05 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
小学少先队工作总结2015
2015/05/26 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书
如何理解Vue简单状态管理之store模式
2021/05/15 Vue.js
使用CSS连接数据库的方式
2022/02/28 HTML / CSS