加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 02:45:00 所属栏目:百科 来源:网络整理
导读:项目是基于 vue2 的移动端项目 1、实际效果 地址三级联动 mint-ui picker.png 2、首先你需要去下载一个包含中国省份,城市,区县的数据 如下: https://github.com/artiely/Administrative-divisions-of-China(里面包含二级联动数据,三级联动数据,四级联

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

1、实际效果

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

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

如下:

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

3、具体代码 主要是用到了mint-ui的picker组件,关于mint-ui的使用就自行看官网

Ⅰ 、html组件

地址3级联动:{{myAddressProvince}} {{myAddressCity}} {{myAddresscounty}}

Ⅱ 、组件方法

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',className: 'slot4' },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 的值不一样才能够初始化
    //因为我没有看过源码(我猜测是因为数据没有改变,不会触发更新)
  });
}

}

参考文章(mint-ui picker 的四级联动)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读