父组件提交时让各自的子组件验证表格是否填写完整

项目场景:

提示:这里简述项目相关背景:

父组件中有三个表格,表格中时输入框,有些输入框是必填的,在父组件提交时需要验证这三个表格的必填输入框中是否有没填写的。


原因分析:

提示:这里填写问题的分析:

有两点:

1:表格的验证

表格外面套一个form表单,然后在表格的必填输入框的每一项中用表单的验证规则验证

2:多个子组件一起验证,只要一个验证没通过就不能提交

Promise.all([child1,child2,child3,]).then(res=>{})


解决方案:

提示:这里填写该问题的具体解决方案:

1:父组件

1:html

<template><!-- 第一个表格组件 --><QuestionType ref="child1":disabled="disabled":tableList="questionData.testList":title="'型式试验'"/><!-- 第二个表格组件 --><QuestionCarref="child2":disabled="disabled":tableList="questionData.processList"/><!-- 第三个表格组件 --><QuestionTyperef="child3" :disabled="disabled":tableList="questionData.marketList"/><el-button  type="primary" @click="submitForm()">提交</el-button><el-button @click="dialogVisible = false">取 消</el-button>
</template>

2:ts

// 提交输入的表格
const child1=ref();//获取子组件的表格的实例
const child2=ref();
const child3=ref();
const submitForm=(status:number)=>{let res1= child1.value.form.validate()let res2= child2.value.form.validate()let res3= child3.value.form.validate()let res4= child4.value.form.validate()let promise=[res1,res2,res3,res4];Promise.all(promise).then(res=>{//返回的是个数组,验证不通过的是返回false,验证通过的返回是trueif(res.indexOf('false')==-1){//如果所有的子组件返回的没有falseYearPerformanceApi.editYearPerformance(questionData.value).then(result=>{dialogVisible.value=false;loading.value = true;disabled.value=true;})}})
}

2:子组件的表格加验证规则

1:html

<el-form ref="form" :model="props"><el-table ref="tableRef":data="props.tableList" :stripe="true" :show-overflow-tooltip="true" :border="true":header-cell-style="{textAlign:'center'}":cell-style="{textAlign:'center'}"><el-table-column type="selection" width="80" fixed="left" /><el-table-column label="问题编号"min-width="160"prop="questionsCode"><template #header v-if="props.tableList.length>0"><div ><span style="color:red">*</span>问题编号</div></template><template #default="scope"><el-form-item :prop="'tableList['+scope.$index+'].questionsCode'" :rules="[{ required: true, message: '请输入问题编号',trigger: 'blur', },{ required: true, message: '请输入问题编号',trigger: 'change', }]"><el-input v-model="scope.row.questionsCode" :disabled="props.disabled" placeholder="请输入"/></el-form-item></template></el-table-column></el-table>
</el-form>

2:ts

//接收父组件传过来的值
const props = defineProps({disabled:{type:Boolean,default:true},tableList:{type:Array,},
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/473967.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嘴尚绝卤味独特的口感

在餐饮行业里&#xff0c;嘴尚绝卤味无疑是一颗璀璨的明星。自2021年8月7日创立以来&#xff0c;这个品牌就以其独特的口感和制作工艺赢得了众多食客的青睐。嘴尚绝卤味&#xff0c;作为四川优优熊猫餐饮管理有限公司旗下的主打品牌&#xff0c;专注于提供高品质的休闲佐食&…

JDK17 安装使用

一、Java JDK&#xff08;Java Development Kit&#xff09; 它是开发、运行Java应用程序所需的各种工具和库的集合。 二、JDK 1.8&#xff08;也称为Java 8&#xff09;和JDK 17是两个重要的版本 这两个版本在语言特性、性能优化和安全性方面都有所不同。 1、语言特性 …

解决Ubuntu18.04及以上版本高分辨率下导致字体过小问题

解决Ubuntu18.04及以上版本高分辨率下导致字体过小问题 Chapter1 解决Ubuntu18.04及以上版本高分辨率下导致字体过小问题 Chapter1 解决Ubuntu18.04及以上版本高分辨率下导致字体过小问题 目前使用的是三星4K显示屏&#xff0c;屏幕分辨率太高了&#xff0c;导致VMWare Workst…

uniapp 微信小程序地图标记点、聚合点/根据缩放重合点,根据缩放登记显示气泡marik标点

如图&#xff0c;如果要实现上方的效果&#xff1a; 上方两个效果根据经纬度标记点缩放后有重复点会添加数量 用到的文档地址https://developers.weixin.qq.com/miniprogram/dev/api/media/map/MapContext.addMarkers.htmlMapContext.addMarkers(Object object) 添加标记点Ma…

第6章详细设计 -6.7 PCB工程需求表单

6.7 PCB工程需求表单 PCB工程需求表是PCB设计的入口条件&#xff0c;以一块单板为例&#xff0c;表6.2所示的PCB工程需求表单明确了Signal Integrity&#xff08;SI&#xff0c;信号完整性&#xff09;和Power Integrity&#xff08;PI&#xff0c;电源完整性&#xff09;的要…

Spring 与 Spring MVC 与 Spring Boot三者之间的区别与联系

一.什么是Spring&#xff1f;它解决了什么问题&#xff1f; 1.1什么是Spring&#xff1f; Spring&#xff0c;一般指代的是Spring Framework 它是一个开源的应用程序框架&#xff0c;提供了一个简易的开发方式&#xff0c;通过这种开发方式&#xff0c;将避免那些可能致使代码…

重构Action-cli前端脚手架

一、概述 最近一年&#xff0c;为了满足公司业务开发&#xff0c;解决重复搭建项目繁琐过程&#xff0c;自己开发了一个前端脚手架&#xff0c;并发布到npm。随着时间的推移&#xff0c;发现之前的版本存在很多问题&#xff0c;有些功能做不到位&#xff0c;而且代码也不是很规…

Kotlin return与return@forEachIndexed

Kotlin return与returnforEachIndexed fun main() {val data arrayOf(0, 1, 2, 3, 4)println("a")data.forEachIndexed { index, v ->if (v 2) {//类似while循环中的continue//跳过&#xff0c;继续下一个forEachIndexed迭代returnforEachIndexed}println("…

Springboot基于GIS的旅游信息管理系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…

《Django 5 By Example》阅读笔记:p645-p650

《Django 5 By Example》学习第8天&#xff0c;p645-p650总结&#xff0c;总计6页。 一、技术总结 1.django-rest-framework (1)serializer p648, Serializer: Provides serialization for normal Python class instances。Serializer又细分为Serializer, ModelSerializer,…

5个有效的华为(HUAWEI)手机数据恢复方法

5个有效的手机数据恢复方法 华为智能手机中的数据丢失比许多人认为的更为普遍。发生这种类型的丢失有多种不同的原因&#xff0c;因此数据恢复软件的重要性。您永远不知道您的智能手机何时会在这方面垮台&#xff1b;因此&#xff0c;预防总比哀叹好&#xff0c;这就是为什么众…

【微软:多模态基础模型】(4)统一视觉模型

欢迎关注[【youcans的AGI学习笔记】](https://blog.csdn.net/youcans/category_12244543.html&#xff09;原创作品 【微软&#xff1a;多模态基础模型】&#xff08;1&#xff09;从专家到通用助手 【微软&#xff1a;多模态基础模型】&#xff08;2&#xff09;视觉理解 【微…

鸿蒙网络编程系列48-仓颉版UDP回声服务器示例

1. UDP回声服务器简介 回声服务器指的是这样一种服务器&#xff0c;它接受客户端的连接&#xff0c;并且把收到的数据原样返回给客户端&#xff0c;本系列的第2篇文章《鸿蒙网络编程系列2-UDP回声服务器的实现》中基于ArkTS语言在API 9的环境下实现了UDP回声服务器&#xff0c…

微博短链接平台-项目测试用例设计(Xmind)

技术栈&#xff1a;Spring BootMyBatis-PlusRedisShardingSphereSentinel 项目描述&#xff1a;微博短链接平台&#xff0c;提供了一个高效、安全和可靠的短链接管理平台。完成较长链接转换为短链接场景。比 如&#xff0c;受微博发送博文长度限制&#xff0c;仅能发表150字&am…

前端基础(四十一):实时获取麦克风音量

效果 源码 <button id"open">打开麦克风</button> <button id"close">关闭麦克风</button><input id"range" type"range" min"0" max"100" value"0" />let _mediaStrea…

jmeter常用配置元件介绍总结之配置元件

系列文章目录 1.windows、linux安装jmeter及设置中文显示 2.jmeter常用配置元件介绍总结之安装插件 3.jmeter常用配置元件介绍总结之线程组 4.jmeter常用配置元件介绍总结之函数助手 5.jmeter常用配置元件介绍总结之取样器 6.jmeter常用配置元件介绍总结之jsr223执行pytho…

H.265流媒体播放器EasyPlayer.js视频流媒体播放器关于直播流播放完毕是否能监听到

EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器&#xff0c;可支持多种流媒体协议播放&#xff0c;无须安装任何插件&#xff0c;起播快、延迟低、兼容性强&#xff0c;使用非常便捷。 EasyPlayer.js播放器不仅支持H.264与H.265视频编码格式&#xff0c;也能支持WebS…

《基于 PySpark 的电影推荐系统分析及问题解决》

以下是一篇关于上述代码的博客文章&#xff1a; 基于PySpark的电影推荐系统实现与分析 在当今数字化时代&#xff0c;个性化推荐系统在各个领域中都发挥着至关重要的作用&#xff0c;尤其是在娱乐行业&#xff0c;如电影推荐。本文将详细介绍如何使用PySpark构建一个简单的电…

【Java 学习】数据类型、变量、运算符、条件控制语句

Java基础语法 1. 打印 Hello World !2. 变量类和数据类型2.1 什么是变量&#xff1f;什么是数据类型&#xff1f;2.2 常用的数据类型2.3 使用变量2.4 String 类数据类型2.4.1 String 类基本概念2.4.2 String 类的使用 3. 运算符3.1 算数运算符3.2 关系运算符3.3 逻辑运算符3.4 …

性能超越Spark 13.3 倍,比某MPP整体快数十秒 | 多项性能指标数倍于主流开源引擎 | 云器科技发布性能测试报告

云器Lakehouse正式发布性能测试报告 &#x1f3c5;离线批处理&#xff1a;在复杂批处理任务中&#xff0c;云器Lakehouse相较Spark表现出13.31倍性能提升。 &#x1f3c5;即席查询&#xff1a;在交互式分析场景下&#xff0c;云器Lakehouse相较Trino表现出9.84倍性能提升。 &am…