如何解决this.$refs[XXX].validate is not a function
相信有很多朋友对于动态生成el-form表单进行校验会出现以下情况:
其实不用慌,在动态生成的时候this.$refs.form变成了一个数组,此时的校验可以这样写:
this.$refs['form'][0].validate((valid) => {
if(valid) {
console.log('111')
}
else {
this.$message.warning("");
}
})
还有一种情况:假如你第一个el-form是本来就存在的,后面的el-form是动态生成的这个时候需要进行判断校验:
if(this.tabIndex > 0) {
this.$refs['form'].validate((valid) => {
if(!valid) return this.$message.warning("原本存在form表单校验");
})
}
else {
this.$refs['form'][0].validate((valid) => {
if(valid) {
console.log('111')
}
else {
this.$message.warning("动态生成的form表单校验");
}
})
}
这个是需要根据个人代码以及页面设计去判断如何去校验。
————————————————
原文链接:https://blog.csdn.net/weixin_48082725/article/details/115729407