vue基于mint-ui的城市选择3级联动的示例


Posted in Javascript onOctober 25, 2017

项目是基于 vue2 的移动端项目

1、实际效果

vue基于mint-ui的城市选择3级联动的示例

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

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

如下:

https://github.com/artiely/Administrative-divisions-of-China(里面包含二级联动数据,三级联动数据,四级联动数据等,找到自己需要的)

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>

参考文章https://3water.com/article/125935.htm(mint-ui picker 的四级联动)

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

Javascript 相关文章推荐
javascript笔试题目附答案@20081025_jb51.net
Oct 26 Javascript
JS option location 页面跳转实现代码
Dec 27 Javascript
分享十五个最佳jQuery 幻灯插件和教程
Mar 27 Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
Dec 14 Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 Javascript
JavaScript原生对象之String对象的属性和方法详解
Mar 13 Javascript
jQuery图片左右滚动代码 有左右按钮实例
Jun 20 Javascript
BootStrap整体框架之基础布局组件
Dec 15 Javascript
前端构建工具之gulp的配置与搭建详解
Jun 12 Javascript
webpack-dev-server远程访问配置方法
Feb 22 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
Aug 10 Javascript
OpenLayers3实现鼠标移动显示坐标
Sep 25 Javascript
浅谈Vue的加载顺序探讨
Oct 25 #Javascript
JavaScript模块模式实例详解
Oct 25 #Javascript
vue生成token保存在客户端localStorage中的方法
Oct 25 #Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
Oct 25 #Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
Oct 25 #Javascript
vue语法之拼接字符串的示例代码
Oct 25 #Javascript
浅谈Vue.nextTick 的实现方法
Oct 25 #Javascript
You might like
一周让你学会PHP 不错的学习资料
2009/02/06 PHP
PHP操作数组的一些函数整理介绍
2011/07/17 PHP
8个必备的PHP功能开发
2015/10/02 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
python如何查看系统网络流量的信息
2016/09/12 Python
Python实现动态图解析、合成与倒放
2018/01/18 Python
python实现日常记账本小程序
2018/03/10 Python
Python Requests库基本用法示例
2018/08/20 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
解决python 文本过滤和清理问题
2019/08/28 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
Python任务自动化工具tox使用教程
2020/03/17 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
2020/04/30 Python
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
前台文员我鉴定
2014/01/12 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers