美文网首页工作总结
mint-ui picker 取消确定封装、省市区三级联动、to

mint-ui picker 取消确定封装、省市区三级联动、to

作者: 轩轩小王子 | 来源:发表于2019-02-16 18:20 被阅读0次

    1.Q:vue 结合mint-ui 注意事项

    A:main.js 中 一定要引入mint-ui的css,不然mint-ui 组件有些样式显示不出来

     import 'mint-ui/lib/style.css'
    

    2.Q:mint-ui picker 组件 封装取消、确定按钮及功能

    A:

    <mt-popup v-model="regionVisible" position="bottom" class="region-popup">
    
                <mt-picker :slots="myAddressSlots" valueKey="name" :visibleItemCount="5" @change="addressChange" :itemHeight="40" showToolbar ref="picker">
    
                  <div class="picker-btn-wrap">
    
                        <div  class="picker-cancel" @click="addressChooseCancel">取消</div>
    
                        <div  class="picker-sure" @click="confirmChoose">确定</div>
    
                  </div>
    
                </mt-picker>
    
     </mt-popup>
    

    picker组件的change事件,进行取值赋值

    addressChange(picker, values){
    
        if (this.regionInit){
    
            if(this.myAddressSlots[0]){
    
                picker.setSlotValues(1, this.getCityArr(this.twoLevelAddress,values[0]["name"]));
    
                picker.setSlotValues(2, this.getCountyArr(values[0]["name"], values[1]["name"]));
    
            }
    
        }else{
    
            this.regionInit = true;
    
        }
    

    遍历json,返回省级对象数组

    getProvinceArr(arr) {
    
        let provinceArr = [];
    
        arr.forEach(function (item) {
    
            let obj = {};
    
            obj.name = item.label;
    
            obj.province_id = item.value;
    
            provinceArr.push(obj);
    
        });
    
        return provinceArr;
    
        },
    

    遍历json,返回市级对象数组

    getCityArr(arr,province) {
    
        let cityArr = [];
    
        arr.forEach(function (item) {
    
            if (item.label === province) {
    
            item.children.forEach(function (args) {
    
                let obj = {};
    
                obj.name = args.label;
    
                obj.city_id = args.value;
    
                cityArr.push(obj);
    
            });
    
            }
    
        });
    
        return cityArr;
    
        },
    

    遍历json,返回区级对象数组

    getCountyArr(province,city){
    
        let countyArr = [];
    
        this.twoLevelAddress.forEach(function(item){
    
            if (item.label === province){
    
                item.children.forEach(function (args) {
    
                    if (args.label === city){
    
                    args.children.forEach(function (param) {
    
                        let obj = {};
    
                        obj.name=param.label;
    
                        obj.country_id=param.value;
    
                        countyArr.push(obj);
    
                    })
    
                    }
    
                });
    
            }
    
        });
    
        return countyArr;
    
        },
    

    地区选择器 确定

    confirmChoose(){
    
                this.chooseAddress = this.$refs.picker.getValues();
    
                let currentCountryName = this.chooseAddress[2].name;
    
                let currentCountryArr = this.$refs.picker.getSlotValues(2); //这个地方有一个mint-ui picker 组件自身有一个bug  就是 如果河北省 区第一个是市辖区 在切换到 别的省里面如果第一个也是市辖区 ,通过  this.chooseAddress = this.$refs.picker.getValues(); 获取到的区id 是不更新的
    
                let currentCountryId=""
    
                currentCountryArr.forEach(v=>{
    
                    if(v.name == currentCountryName){
    
                        currentCountryId = v.country_id;
    
                    }
    
                })
    
                this.currentCountryId = currentCountryId;
    
                this.enterpriseAddressDes = this.chooseAddress[0].name+'/'+this.chooseAddress[1].name+'/'+this.chooseAddress[2].name;
    
                this.regionVisible = false
    
        },
    

    3.Q:toast 引入自定义图标

    A:

    Toast({
            message:'提交成功',
           iconClass:'mint-toast-icon mintui mintui-success'
    
          })
    

    相关文章

      网友评论

        本文标题:mint-ui picker 取消确定封装、省市区三级联动、to

        本文链接:https://www.haomeiwen.com/subject/ffjieqtx.html