element-ui多个表单校验的实现,使用 Promise.all 校验多个表单

    getFormPromise(form) {
      return new Promise(resolve => {
        form.validate(res => {
          resolve(res);
        })
      })
    },
    async submitForm(formName,type){                                               //提交按钮
      this.saveLoading = true;
      const mustForm = this.$refs.mustRewardRef.$refs.ruleForm;    // 表单1
      const extraForm = this.$refs.extraRewardRef.$refs.ruleForm;   // 表单2
      const ruleFormly = this.$refs.ruleFormly;                                  // 表单3

      // 使用Promise.all去校验结果
      Promise.all([ruleFormly,mustForm, extraForm].map(this.getFormPromise)).then(res => {
        const validateResult = res.every(item => !!item);

        if (validateResult) {
          console.log('表单都校验通过');
            
        } else {
          this.saveLoading = false;
          console.log('表单未校验通过');
        }
      })
    },

猜你喜欢

转载自blog.csdn.net/qq_42514371/article/details/126663655