el-cascader 级联选择器 配合 v-loading

el-cascader 不支持 v-loading 语法!

直接在级联选择器标签中使用 v-loading 不会生效

<el-cascader 
    v-loading = "yourFlag" // 不生效
    :options="options" 
    v-model="yourValue"
></el-cascader>

正确写法:

html:

    <el-cascader
      popper-class="loading"
      @visible-change="visibleChange"
      :options="options"
      v-model="value"
    ></el-cascader>
    <!-- popper-class 为自定义类名 也就是级联选择器的下拉框的类名  -->
    <!-- @visible-change 下拉框出现/隐藏时触发  -->

    

js:

 data() {
    return {
      cascaderLoading: null,//控制loading
      options: [],
      value: '',
    };
  },
methods:{
    visibleChange() {
      let options = {
        target: '.loading',//你自定义的类名
        lock: true,
        text: '拼命加载中...',
        // background: 'rgba(0, 0, 0, 0.7)',
      };
      this.$nextTick(() => {
        // 如果完整引入了 Element,那么 Vue.prototype 上会有一个全局方法 $loading。
        //this.$loading 是Element的语法 将loading 样式放入指定的元素内
        // this.cascaderLoading = this.$loading(option)
        
        if (this.options.length == 0) {
          this.cascaderLoading = ElLoading.service(options);
          setTimeout(() => {
            this.cascaderLoading.close();
          }, 15000);// 设置遮罩层关闭时间 一般为接口超时时间
        }
      });
    },
    getOptions() {
      this.options = '你的数据';
      this.cascaderLoading.close();//关掉loading 遮罩层
    },
}

效果图:

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值