首页 > 其他分享 >[element-ui] 多个Form表单同时验证

[element-ui] 多个Form表单同时验证

时间:2022-12-21 10:35:10浏览次数:41  
标签:function Form 验证 self 表单 ui resultArr Promise element


<el-form   ref="form1"></el-form>
<el-form ref="form2"></el-form>
<el-form ref="form3"></el-form>
<el-form ref="form4"></el-form>
export default{
data(){
resultArr:[],//接受验证返回结果数组
formArr:['form1','form2','form3','form4'],//存放表单ref数组
},
methods:{
//封装验证函数
checkForm(formName){
let _self=this;
let result = new Promise(function(resolve, reject) {
_self.$refs[formName].validate((valid) => {
if (valid) {
resolve();
} else { reject() }
})
})
_self.resultArr.push(result) //push 得到promise的结果
},
submit(){
let _self=this;
_self.formArr.forEach(item => { //根据表单的ref校验
_self.checkForm(item)
})
//resultArr数组的值必须是promise对象才能使用Promise.all,在checkForm做了这一步
Promise.all(_self.resultArr).then(function() { //都通过了
alert('所有表单验证通过')
// 该区域使用this无效,promise内面的this表示局部,并不代表VueComponet实例
}).catch(function() {
console.log("err");
});
}
}
}



​​vue element 多个Formt表单同时验证​​


标签:function,Form,验证,self,表单,ui,resultArr,Promise,element
From: https://blog.51cto.com/u_12881709/5957937

相关文章