当前位置: 首页 > news >正文

Vue 按键生成多个表单

本文通过 vue+ele,通过循环ref的方法生成多个表单,代码如下:

<template><div><el-button @click="addText" style="margin:  15px 0; ">添加字段</el-button><div v-for="item, index in dataList"><el-button @click="deleteText" type="danger" v-if="index == dataList.length - 1"style="margin-bottom: 15px;">删除字段</el-button><el-form :ref="`form${index}`" :model="item" :rules="rules" :key="index" label-width="80px"><el-form-item label="中文名称" prop="chineseName"><el-input v-model="item.chineseName"></el-input></el-form-item><el-form-item label="英文名称" prop="englishName"><el-input v-model="item.englishName"></el-input></el-form-item></el-form></div><el-button v-if="dataList.length != 0" @click="submitForms" style="margin:  15px 0; ">提交</el-button></div>
</template>
<script>export default {name: 'addForm',components: {},data() {return {dataList: [],rules: {chineseName: [{ required: true, message: "请输入英文名称", trigger: "blur" },{ pattern: /^[\u4e00-\u9fa5]+$/, message: "只能输入中文", trigger: "blur" }],englishName: [{ required: true, message: "请输入英文名称", trigger: "blur" },{ pattern: /^[a-zA-Z]+$/, message: "只能输入英文", trigger: "blur" }],},}},props: {},created() {},watch: {},computed: {},mounted() {},methods: {addText() {this.dataList.push({ chineseName: '', englishName: '' });},deleteText() {this.dataList.pop();},submitForms() {const formDataArray = [];let valid = true;this.dataList.forEach((item, index) => {this.$refs[`form${index}`][0].validate((validForm) => {if (!validForm) {valid = false;}});formDataArray.push(this.$refs[`form${index}`][0].model);});if (valid) {console.log(formDataArray);// 在这里处理提交的表单数据} else {console.log('表单验证失败');}}},beforeDestroy() {}
}
</script>
<style scoped></style>

效果如图:

完整代码已经上传github:https://github.com/majinihao123/vue-Component

在线地址:https://majinihao123.github.io/vue-Component/dist/#/addForm

有需要的自取,麻烦给git一个星星!!!

相关文章:

Vue 按键生成多个表单

本文通过 vueele&#xff0c;通过循环ref的方法生成多个表单,代码如下&#xff1a; <template><div><el-button click"addText" style"margin: 15px 0; ">添加字段</el-button><div v-for"item, index in dataList"…...

网络安全:交换机技术

单播&#xff0c;组播广播 单播(unicast): 是指封包在计算机网络的传输中&#xff0c;目的地址为单一目标的一种传输方式。它是现今网络应用最为广泛&#xff0c;通常所使用的网络协议或服务大多采用单播传输&#xff0c;例如一切基于TCP的协议。组播(multicast): 也叫多播&am…...

Flask 快速入门

1. Flask 简介 1.1 什么是 Flask Flask 是一个用 Python 编写的轻量级 Web 框架&#xff0c;被誉为 微框架。它提供基础功能&#xff0c;如路由、请求处理和模板引擎&#xff0c;但不强迫开发者使用特定库或工具&#xff0c;赋予开发人员高度的自由选择权&#xff0c;以满足不…...

C#设计模式(行为型模式):备忘录模式,时光倒流的魔法

C#设计模式&#xff1a;备忘录模式&#xff0c;时光倒流的魔法 在软件开发中&#xff0c;我们经常会遇到需要保存对象状态&#xff0c;并在未来某个时刻恢复的场景。例如&#xff1a; 撤销操作&#xff1a; 文本编辑器中的撤销功能&#xff0c;游戏中的回退操作。事务回滚&am…...

数据库高安全—角色权限:权限管理权限检查

目录 3.3 权限管理 3.4 权限检查 书接上文数据库高安全—角色权限&#xff1a;角色创建角色管理&#xff0c;从角色创建和角色管理两方面对高斯数据库的角色权限进行了介绍&#xff0c;本篇将从权限管理和权限检查方面继续解读高斯数据库的角色权限。 3.3 权限管理 &#x…...

FastAPI 的依赖注入与生命周期管理深度解析

FastAPI 的依赖注入与生命周期管理深度解析 目录 &#x1f527; 依赖注入与 FastAPI 高级特性 1.1 依赖注入的基础与核心概念1.2 FastAPI 的依赖注入机制与设计理念1.3 FastAPI 依赖注入的异步特性 &#x1f579; 生命周期与依赖的异步管理 2.1 依赖的生命周期管理&#xff1…...

【express-generator】05-路由中间件和错误处理(第一阶段收尾)

一、前言 上篇文章我们介绍了express-generator的请求体解析&#xff0c;重点讲了常用的请求体数据格式&#xff08;JSON/URL 编码的表单数据&#xff09;以及一个FILE文件上传&#xff0c;同时搭配代码示范进行辅助理解。 二、本篇重点 我们继续第一阶段的知识&#xff0c;…...

Linux环境下确认并操作 Git 仓库

在软件开发和版本控制中&#xff0c;Git 已成为不可或缺的工具。有时&#xff0c;我们需要确认某个目录是否是一个 Git 仓库&#xff0c;并在该目录中运行脚本。本文将详细介绍如何确认 /usr/local/src/zcxt/backend/policy-system-backend 目录是否是一个 Git 仓库&#xff0c…...

UDP -- 简易聊天室

目录 gitee&#xff08;内有详细代码&#xff09; 图解 MessageRoute.hpp UdpClient.hpp UdpServer.hpp Main.hpp 运行结果&#xff08;本地通信&#xff09; 如何分开对话显示&#xff1f; gitee&#xff08;内有详细代码&#xff09; chat_room zihuixie/Linux_Lear…...

NVIDIA在CES 2025上的三大亮点:AI芯片、机器人与自动驾驶、全新游戏显卡

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

【通俗理解】AI的两次寒冬:从感知机困局到深度学习前夜

AI的两次寒冬&#xff1a;从感知机困局到深度学习前夜 引用&#xff08;中英双语&#xff09; 中文&#xff1a; “第一次AI寒冬&#xff0c;是因为感知机局限性被揭示&#xff0c;让人们失去了对算法可行性的信心。” “第二次AI寒冬&#xff0c;则是因为专家系统的局限性和硬…...

transformer深度学习实战CCTSDB中国交通标志识别

本文采用RT-DETR作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。RT-DETR以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对CCTSDB交通标志数据集进行训练和优化&#xff0c;该数据集包含丰富的CCTSDB交…...

JavaWeb开发(六)XML介绍

1. XML介绍 1.1. 什么是XML &#xff08;1&#xff09;XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种很像HTML的标记语言。   &#xff08;2&#xff09;XML 的设计宗旨是传输数据(目前主要是作为配置文件)&#xff0c;而不是显示数据。   &#xff08;3&a…...

使用pbootcms开发一个企业官网

V:llike620 pbootcms开源PHP建站系统 https://www.pbootcms.com/ 配置网站 域名解析后&#xff0c;网站绑定到程序根目录即可 例如&#xff1a;本地域名是dobot.test &#xff0c;那么也要同步本地的hosts是 127.0.0.1 dobot.test 需要配置下伪静态规则 location / {if (!-e $r…...

Linux C编程——文件IO基础

文件IO基础 一、简单的文件 IO 示例二、文件描述符三、open 打开文件1. 函数原型2. 文件权限3. 宏定义文件权限4. 函数使用实例 四、write 写文件五、read 读文件六、close 关闭文件七、Iseek 绍 Linux 应用编程中最基础的知识&#xff0c;即文件 I/O&#xff08;Input、Outout…...

【信息系统项目管理师】高分论文:论信息系统项目的风险管理(人民医院的信息系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划风险管理2、项目风险识别3、风险定性分析4、风险定量分析5、制定风险应对6、实施风险应对计划7、监督风险论文 2022年6月,我作为项目经理承担了XX县人民医院的信息系统建设,该项目总投资300万,其…...

UE播放声音

蓝图中有两个播放声音的函数 Play Sound 2D 和 Play Sound at Location Play Sound 2D没有声音距离衰减&#xff0c;一般用于界面ui Play Sound at Location 有声音距离衰减&#xff0c;一般用于枪声&#xff0c;场景声等&#xff0c;比较常用...

Docker Compose 启动 Harbor 并指定网络

1. 介绍 Harbor 是一个开源的企业级 Docker 镜像仓库&#xff0c;提供镜像存储、访问控制、安全扫描等功能。使用 Docker Compose 启动 Harbor 时&#xff0c;您可以指定一个自定义网络&#xff0c;以便管理容器之间的网络通信。在本示例中&#xff0c;我们将创建一个名为 har…...

WebSocket 实战案例:从设计到部署

在前六篇文章中,我们深入探讨了 WebSocket 的基础原理、服务端开发、客户端实现、安全实践、性能优化和测试调试。今天,让我们通过一个实战案例,看看如何将这些知识应用到实际项目中。我曾在一个大型在线教育平台中,通过 WebSocket 实现了实时互动课堂,支持了数万名师生的同时在…...

selenium合集

环境搭建步骤 安装selenium pip install selenium 安装浏览器 安装浏览器驱动 谷歌浏览器&#xff1a;chromdriver.exe ie浏览器:ieserverdriver.exe FireFox浏览器:geckodriver.exe 特别注意⚠️&#xff1a;下载驱动版本必须与浏览器版本一致 下载地址 淘宝镜像&#xff1…...

我不是狐狸,我是那Harness Engineering律

Julia&#xff08;julialang.org&#xff09;由Stefan Karpinski、Jeff Bezanson等在2009年创建&#xff0c;目标是融合Python的易用性、C的高性能、R的统计能力、Matlab的科学计算生态。 其核心设计哲学是&#xff1a; 高性能&#xff1a;编译型语言&#xff08;JIT&#xff0…...

HarmonyOS PC 命令行工具构建框架

欢迎大家一起共建 HarmonyOS PC 生态&#xff01; &#x1f680; 欢迎加入开源鸿蒙PC社区&#xff1a;https://harmonypc.csdn.net/ 目录 概述环境准备 Windows 环境&#xff08;WSL&#xff09;Linux 环境&#xff08;Ubuntu 22.04&#xff09;macOS 环境 快速开始详细步骤…...

USB-Disk-Ejector:重新定义Windows设备安全移除体验

USB-Disk-Ejector&#xff1a;重新定义Windows设备安全移除体验 【免费下载链接】USB-Disk-Ejector A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable alternati…...

解决标准工程库中遇到少了STM32F1 固件包

keil中编译后出现下面错误&#xff1a; ../Core/Inc/stm32f1xx_hal_conf.h(338): error: #5: cannot open source input file "stm32f1xx_hal_uart.h": No such file or directory 整个项目都找不到 stm32f1xx_hal_uart.h 这个文件。 要么 UART 的 HAL 驱动文件没有…...

如何解决地理数据可视化难题:geojson2svg的坐标映射与样式控制方案

如何解决地理数据可视化难题&#xff1a;geojson2svg的坐标映射与样式控制方案 【免费下载链接】geojson2svg Converts GeoJSON to SVG string given SVG view port size and maps extent. 项目地址: https://gitcode.com/gh_mirrors/ge/geojson2svg 在Web地图开发中&am…...

RMCP任务管理完整教程:实现异步工具调用生命周期

RMCP任务管理完整教程&#xff1a;实现异步工具调用生命周期 【免费下载链接】rust-sdk The official Rust SDK for the Model Context Protocol 项目地址: https://gitcode.com/gh_mirrors/rusts/rust-sdk RMCP任务管理是现代AI应用开发中的核心技术&#xff0c;它允许…...

Bypass Paywalls Clean:突破付费墙限制的智能解决方案

Bypass Paywalls Clean&#xff1a;突破付费墙限制的智能解决方案 在数字化内容日益丰富的今天&#xff0c;付费墙成为了许多用户获取信息的障碍。Bypass Paywalls Clean作为一款创新的浏览器扩展工具&#xff0c;通过智能技术手段为用户提供了突破内容限制的全新途径。 技术原…...

抖音热榜API实战:从签名生成到数据获取的完整Java指南

1. 抖音热榜API接入前的准备工作 第一次接触抖音热榜API时&#xff0c;我踩过不少坑。最头疼的就是签名生成那部分&#xff0c;明明照着文档做却总是报错。后来才发现是参数顺序搞错了。为了避免大家走弯路&#xff0c;我把完整的接入流程梳理出来。 首先需要注册开发者账号。打…...

EDEM仿真“隐形”几何与“罢工”颗粒工厂:常见故障排查与实战修复指南

1. 当EDEM几何模型突然"隐身"&#xff1a;从现象到修复的完整指南 第一次遇到EDEM里的几何模型突然消失时&#xff0c;我差点以为是自己眼花了。明明上次模拟还好好的模型&#xff0c;这次打开却只剩下空荡荡的粒子在飘荡。这种情况在工程仿真中其实很常见&#xff0…...

从‘Hello World’到实战:用 ArcObjects SDK for .NET 在 ArcMap 10.8 中开发你的第一个自定义工具插件

从零构建ArcGIS插件&#xff1a;实战驱动的ArcObjects开发指南 当你第一次打开ArcMap&#xff0c;看着那些功能丰富的工具栏&#xff0c;是否曾想过&#xff1a;"如果我能开发一个专属工具&#xff0c;让软件按我的需求工作该多好&#xff1f;"这正是ArcObjects SDK赋…...