最近遇到一个需求,一个界面中拥有多个表单需要填写,在填写完点击提交按钮后需要校验填写的表单是否验证通过;废话不多说,直接上代码!在这里我们要借助一下Promise.all()来实现
/* 点击提交按钮触发的方法 */
async submitForm(){
// 先拿到所有的表单存到数组中 ruleForm为form表单中定义的ref
let formArr = this.$refs.ruleForm;
let arr = [];
await Promise.all(
formArr.map(item =>item.validate().then(() => {
arr.push(true);
}).catch(() => {
arr.push(false);
})
)
);
let formStatus = arr.every(item => {
return item;
});
//formStatus 就是所有表单是否校验通过的结果
}