在Vue表单验证时出现以下报错信息:

[Vue warn]: Error in v-on handler: "TypeError: Cannot read property 'validate' of undefined"
......

在这里的formName需要和保持一致才行。
代码1:

this.$refs[formName].validate((valid) => {
  ...
}

代码2:

<el-form ref="ruleForm" label-width="120px" :model="ruleForm" :rules="rules" class="template-ruleForm">
    <el-form-item label="签到主题" prop="title">
      <el-input v-model="ruleForm.title"/>
    </el-form-item>
    <el-form-item label="设备终端名称" prop="deviceName">
      <el-input v-model="ruleForm.deviceName"/>
    </el-form-item>
    ...
    <el-form-item>
      <el-button v-loading.fullscreen.lock="loading" type="primary" @click="saveForm('ruleForm')">保 存</el-button>
    </el-form-item>
</el-form>

但是如果formName写成类似formA这样的名称,还是会出现上面的错误,两个修改为一致的即可解决该问题。

参考地址链接:https://www.jianshu.com/p/44352d1ea893

标签: vue, TypeError, validate' of undefined

添加新评论