封装的form组件 调用时报错this.$refs[formName].validate 找不到是什么原因

发布于 2022-09-11 23:16:24 字数 1655 浏览 22 评论 0

贴上代码:
html部分

   <mt-form-item label="姓名" :cc="24" prop="name">
            <el-input v-model="ruleForm.name"></el-input>
          </mt-form-item>
          <mt-form-item label="电话" prop="tel">
            <el-input v-model="ruleForm.tel"></el-input>
          </mt-form-item>
          <mt-form-item label="邮箱" prop="email">
            <el-input v-model="ruleForm.email"></el-input>
          </mt-form-item>
          <mt-button
            type="primary"
            icon="el-icon-success"
            label="保存"
            @click="submitForm('ruleForm')"
          ></mt-button>
          <mt-button type="primary" label="登录" @click="resetForm('ruleForm')"></mt-button>
        </mt-form>

js部分

 // 表单属性
    ruleForm: {
    name: '',
    tel: '',
    email: ''
      },

   rules: {
 name: [
 { required: true, message: '请输入活动名称', trigger: 'blur' },
 { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }],
   tel: [
{ required: true, message: '请输入活动名称', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }],
  email: [
 { required: true, message: '请输入活动名称', trigger: 'blur' },
 { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }]
      }

报错内容:image.png

image.png

打印this.$refs[formName]可以打印出来,但是打印this.$refs[formName].validate 就是underfined,
这是什么原因呢?是我组件的原因还是我调用的问题

求大佬们帮忙

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

烟酒忠诚 2022-09-18 23:16:24

你的form html代码没贴全吧。
检查一下form标签上是否有refrules的绑定

誰認得朕 2022-09-18 23:16:24

代码展示不全, 建议把官方demo复制运行一下, 查看代码是不是哪里写错了

千と千尋 2022-09-18 23:16:24

封装的组件 有没有在子组件把实例返回给父组件

// 将form实例返回到父级


this.$emit('update:refObj', this.$refs.form)
玩物 2022-09-18 23:16:24

this.$refs.ruleForm.validate();

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文