Vue多组件多表单使用一个按钮进行验证以及提交

Vue多组件多表单使用一个按钮进行验证以及提交

做的项目需要使用到多个表单,但是我把表单抽成组件,就算是两个组件,每个组件中个有一个表单,我需要使用一个按钮,对这两个表单进行提交以及验证的相关功能。

1.这是我的父组件文件,里面有3个子组件,其中每个子组件中都有一个form表单,我要在父组件中使用一个按钮对子组件中的表单进行同时验证并提交。(ref 是重点要加)

在这里插入图片描述

2.使用 Promise 当两个 form1 和 form2 同时校验通过后在将提交逻辑写到 Promise.all 中。(formData 是 表单上的 ref = ‘formData’)

在这里插入图片描述

3.代码
qd(){
      const form1 = new Promise((resolve , reject) => {
        this.$refs.fylbadddialogjb.$refs['formData'].validate(valid =>{
          if (valid){
            resolve() ;
          }
        });
      }) ;

      const form2 = new Promise((resolve , reject) => {
        this.$refs.fylbadddialogsb.$refs['formData'].validate(valid =>{
          if (valid){
            resolve() ;
          }
        });
      }) ;

      Promise.all([form1,form2]).then(()=>{
        // 表单验证通过
        console.log("表单验证通过") ;
      });

    }
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值