【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;
   },
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于ElementUI的表单验证中el-cascader的多选,可以通过以下步骤实现: 1. 首先,在模板中使用el-cascader组件,并设置v-model绑定一个数组,用于存储多选的值。 2. 在el-form-item中设置prop属性,以进行表单校验。例如:prop="cascaderValue"。 3. 在methods中创建一个方法,用于手动触发表单校验。可以使用this.$refs.form.validateField('cascaderValue')来访问el-form的validateField方法。 4. 在el-cascader组件中添加change事件,将其绑定到刚创建的方法上,以实现在选择项变化时校验表单字段。例如:@change="validateField('cascaderValue')" 这样,当用户进行多选操作时,el-cascader组件会根据绑定的v-model值实时更新,并通过change事件触发表单校验方法,从而实现el-cascader的多选表单验证。 请注意,在以上步骤中,我们假设你已经使用了ElementUI的el-form组件来包裹你的表单,并且已经正确地引入了ElementUI的相关组件和样式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue自定义组件,ElementUi表单校验v-model不能即时生效的解决方法](https://blog.csdn.net/iamlujingtao/article/details/103930225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值