zoukankan      html  css  js  c++  java
  • vue 中父组件获取表单子组件验证过后的数据

    场景:开发中,父组件引入一个表单组件,例如点击父组件中的一个“保存”按钮,我们需要获取子组件的表单数据,而且表单有验证。

    子组件中的 html 的表单代码:

    <el-form
      :model="form"
      :rules="rules"
      ref="formName"
      labelWidth="100px"
      :validate-on-rule-change="true"
    ></el-form>

    其中: :model="form" 中的 form 为表单绑定的数据。

    子组件的表单数据中 methods 中需要添加:

    methods:{
      formValidate() {
        return new Promise((resolve, reject) => {
          this.$refs.formName.validate((valid) => {
            if (valid) { 
              resolve(this.form);
            } else {
              setTimeout(() => {
                reject("error");
              });
            }
          });
        });
      },
    }

    父组件中,比如我点击了“保存”按钮之后,调用一个 handleSave 的方法,在 methods 中添加:

    handleSave(){
      // 其中 formTemplate 是父组件中引入表单组件的时候,定义的 ref 值
      this.$refs.formTemplate[0].formValidate()
        .then(formRes=>{
          //这里就可以处理表单验证过后的代码逻辑了
        })
        .catch(
          err=>{}
        )
    }
  • 相关阅读:
    meta标签
    Vue(day8)
    Vue(day7)
    Vue(day6)
    Flex布局
    Vue(day5)
    jquery.data()&jquery.extend()
    Promise对象
    Vue(day4)
    Vue(day3)
  • 原文地址:https://www.cnblogs.com/smile-fanyin/p/15075887.html
Copyright © 2011-2022 走看看