elementui 多组件表单验证

本文介绍了一种在Vue2.0项目中使用ElementUI框架实现多组件联合表单验证的方法。具体做法是在各子组件中定义表单验证方法,并通过自定义事件将验证结果传递给父组件,最终由父组件决定是否进行数据提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
最近在做管理后台,vue2.0基于elementui框架进行开发。

elementui的api中表单验证都是单个vue文件的验证。而我的保存按钮放在了父组件了,验证对象为三个子组件
我的灵机一动 想到了解决方法 哈哈哈
1.在三个子组件分别写一个方法用于验证当前表单
  incrementTotal(){
        let formName="personSetting"
        this.$refs[formName].validate((valid) => {
            if (valid) {
                this.$emit('submitType',["subject",true])
            }else{
                this.$emit('submitType',["subject",false])
                return false;
            }
        });
    }

注释:{
1.formName="personSetting" 是表单的ref
2.验证成功触发父组件函数并把子组件标示“teacher”和成功的状态true/false 传给父组件
}
 


2.父组件
 <subject ref="subjectchildMethod"  @submitType="getSubmitType" ></subject> //引入子组件
  //父组件中的方法
    getSubmitType(type){//获取验证子组件表单的通过状态
        if(type[0]=="subject"){
            this.teacherSubmit=type[1]
        }
    },
    savePersonData(){//提交的方法
        this.$refs.subjectchildMethod.incrementTotal();//触发子组件的验证
        if(this.teacherSubmit){//验证通过啦
            //可以提交你的数据啦
        }
    }

 

转载于:https://www.cnblogs.com/whyue/p/7728840.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值