Vue用elementui表单校验报错: Error in v-on handler: "TypeError: Cannot read property 'validate' of undefined

直接按照elementui官方的写法:

submitForm(formName) {
    this.$refs[formName].validate((valid) => {
      if (valid) {
        alert('submit!');
      } else {
        console.log('error submit!!');
        return false;
    }
});

//form表头这么写的
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"></el-form>

报错:

解决办法:是把表头的 ref 和 this.$refs.formItemName.validate((valid) => {};的 formItemName 改为一致,如下图;

 //校验活动形式
this.$refs.formItemName.validate((valid) => {
    if (valid) {
       alert('submit!');
    } else {
       console.log('活动形式必填呀呀呀呀呀呀!!');
       return false;
    }
});

//form表头 ref 改为
<el-form ref="formItemName" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"></el-form>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值