【el-cascader 多级多选限制条数】

<el-cascader
	ref="cascaderJob"
	v-if="categoryjobOptions.length > 0"
	class="el_input_widht"
	v-model="categoryjobValue"
	placeholder="职位分类"
	:options="categoryjobOptions"
	:props="{multiple: true, checkStrictly: true}"
	:show-all-levels="true"
	@change="categoryjobChange"
></el-cascader>
categoryjobChange(val){
if(val.length>2){
   this.categoryjobOptions = this.DisabledForStatus(this.categoryjobOptions,1)
     this.categoryjobOptions.forEach(element => {
       val.forEach(item => {
         if(item.length==1){
           if(item[0] == element.value){
             element.disabled = false;
           }
         }else if(item.length==2){
           element.children.forEach(it => {
             if(it.value==item[1]){
               it.disabled = false;
             }
           });
         }else if(item.length==3){
           element.children.forEach(it => {
             if(it.value==item[1]){
               it.children.forEach(t => {
                 if(t.value==item[2]){
                   t.disabled = false;
                 }
               });
             }
           });
         }
       });
     });
   }else{
     this.categoryjobOptions = this.DisabledForStatus(this.categoryjobOptions,2)
     
   }
},
   DisabledForStatus(arr,type) {
     let newArr = JSON.parse(JSON.stringify(arr));
     newArr.forEach((item) => {
     if(type==1){
     	item.disabled = true;
     }else{
     item.disabled = false;
     }
       
       // 有无children项
       if (item.children && item.children.length !== 0) {
         let newChildren = [];
         newChildren = this.addDisabledForStatus(item.children,type);
         item.children = newChildren;
       }
     });
     return newArr;
   },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值