Vue.js vee validate-从父级验证子组件
我使用的是Vue.js vee validate-从父级验证子组件,vue.js,vee-validate,Vue.js,Vee Validate,我使用的是vee validate 3.x我想从父组件验证子组件中包含的表单 父母亲 步骤2 儿童(第一步) {{错误[0]} 这里是问题的最低代码复制 我在执行validateStep时遇到了这个错误 [Vue warn]:v-on处理程序中出现错误:“TypeError:this.$refs[ref]。验证不是函数” 问题: 我感觉问题与ref有关,我一直在四处寻找,但没有找到解决方案。您的父验证功能如下所示: validateStep(ref) { return this.
vee validate 3.x
我想从父组件验证子组件中包含的表单
父母亲
步骤2
儿童(第一步)
{{错误[0]}
这里是问题的最低代码复制
我在执行validateStep时遇到了这个错误
[Vue warn]:v-on处理程序中出现错误:“TypeError:this.$refs[ref]。验证不是函数”
问题:
我感觉问题与
ref
有关,我一直在四处寻找,但没有找到解决方案。您的父验证功能如下所示:
validateStep(ref) {
return this.$refs[ref].validate();
}
validateStep(ref) {
return this.$refs[ref].$refs[ref].validate();
}
如果它看起来像这样,它就会工作:
validateStep(ref) {
return this.$refs[ref].validate();
}
validateStep(ref) {
return this.$refs[ref].$refs[ref].validate();
}
验证函数附加到子组件的实际输入,而不是子组件本身。因此,第一个$refs[ref]
让您进入firstStep.vue
,组件,第二个$refs[ref]
让您进入firstStep.vue
中的内部输入。另外,在您的代码笔中,您在firstStep.vue
中拼写错误了ref=“firtStep”
,因此这没有帮助
我觉得最好让
firstStep
表单验证跟踪它自己的状态,并在表单处于有效状态时发出事件。这样,如果表单中有10个字段,则父项不需要知道关于它们的任何信息,只需要知道它们是否有效。您的父项验证函数如下所示:
validateStep(ref) {
return this.$refs[ref].validate();
}
validateStep(ref) {
return this.$refs[ref].$refs[ref].validate();
}
如果它看起来像这样,它就会工作:
validateStep(ref) {
return this.$refs[ref].validate();
}
validateStep(ref) {
return this.$refs[ref].$refs[ref].validate();
}
验证函数附加到子组件的实际输入,而不是子组件本身。因此,第一个$refs[ref]
让您进入firstStep.vue
,组件,第二个$refs[ref]
让您进入firstStep.vue
中的内部输入。另外,在您的代码笔中,您在firstStep.vue
中拼写错误了ref=“firtStep”
,因此这没有帮助
我觉得最好让
firstStep
表单验证跟踪它自己的状态,并在表单处于有效状态时发出事件。这样,如果表单中有10个字段,则父级不需要知道关于它们的任何信息,只需要知道它们是否有效。您是否介意详细介绍如何使用veeValidate从子组件发出验证状态。感谢您是否介意详细介绍如何使用veeValidate从子组件发出验证状态。谢谢