vue3实现动态表格

vue3结合element-plus实现动态表格,可添加、删除、对单行数据判断。

实现效果:查看源代码
在这里插入图片描述

实现代码:

<div class="arrTable-Box"><el-table :data="tableData" border max-height="250"><el-table-column prop="name" label="Name"><template #default="{row}"><el-input v-model="row.name" clearable /></template></el-table-column><el-table-column prop="age" label="Age"><template #default="{row}"><el-input v-model="row.age" clearable /></template></el-table-column><el-table-column prop="balance" label="Balance"><template #default="{row}"><el-input v-model="row.balance" clearable /></template></el-table-column><el-table-column fixed="right" label="Operations"><template #default="scope"><el-button link type="primary" size="small" v-if="scope.$index!=0" @click.prevent="removeRow(scope.$index)">Remove</el-button></template></el-table-column></el-table><div class="flex"><el-button class="w100 mt10" type="danger" @click="addRow"> Add </el-button><el-button class="w100 mt10" type="primary" @click="sumbit"> sumbit </el-button></div>
</div>
import {ref} from 'vue'
const tableData = ref([{name: 'Tom',age: 20,balance: 100,},
])/* 删除行 */
const removeRow = (index) => {tableData.value.splice(index, 1)
}/* 新增行 */
const addRow = () => {tableData.value.push({})
}/* 判断是否为空对象 */
const isRowEmpty = (row) => Object.keys(row).length === 0;
/* 判断每行数据是否为真 */
const isRowComplete = (row) => row.name && row.age && row.balance;
/* 提交 */
const sumbit = () => {const data=[...tableData.value];for (let i = 0; i < data.length; i++) {const row = data[i];if (isRowEmpty(row)) {ElMessage.warning(`请填写第${i + 1}行内容!`);return;}if (!isRowComplete(row)) {ElMessage.warning(`请将第${i + 1}行内容补充完整`);return;}}console.log('submit data:',data);
}

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

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

相关文章

TypeScript安装及编译

一、TypeScript是什么 ​ Type script 是微软基于 Javascript 开发的开源编程语言&#xff0c;是拥有类型的 Javascript 的超集&#xff0c;继承了js 所有语法&#xff0c;此外增加了一些自己语法。可以编译成普通、千净、完整的 JavaScript 代码。 目的&#xff1a; 不是创造…

Python修改exe之类的游戏文件中的数值

文章目录 场景查找修改 补充字节to_bytes 场景 某些游戏数值&#xff08;攻击力、射程、速度…&#xff09;被写在exe之类的文件里 要先查找游戏数值&#xff0c;然后修改 查找 首先&#xff0c;要查找数值&#xff0c;大数重复较少&#xff0c;建议从大数找起 F 游戏原件…

ROS机器人编程技术应用与实践

机器人编程技术ROS编程基础应用与实践 通过对ROS基础操作命令的应用&#xff0c;熟练掌握以下技能&#xff1a; 1、掌握ROS工作空间和功能包的创建和编译&#xff1b; 2、掌握消息文件和服务文件的创建和编译&#xff1b; 3、能够运用Python编写消息发布节点与主题订阅节点&am…

【JVM】垃圾回收机制(Garbage Collection)

目录 一、什么是垃圾回收&#xff1f; 二、为什么要有垃圾回收机制&#xff08;GC&#xff09;&#xff1f; 三、垃圾回收主要回收的内存区域 四、死亡对象的判断算法 a&#xff09;引用计数算法 b&#xff09;可达性分析算法 五、垃圾回收算法 a&#xff09;标记-清除…

Oracle体系结构初探:闪回技术

在Oracle体系结构初探这个专栏中&#xff0c;已经写过了REDO、UNDO等内容。觉得可以开始写下有关备份恢复的内容。闪回技术 — Oracle数据库备份恢复机制的一种。它可以在一定条件下&#xff0c;高效快速的恢复因为逻辑错误&#xff08;误删误更新等&#xff09;导致的数据丢失…

【C++】深入剖析C++11中右值引用和左值引用

目录 一、左值引用 && 右值引用 二、左值引用于右值引用的比较 三、 右值引用使用场景和意义 1、函数返回值 ①移动赋值 ②移动构造 2、STL容器插入接口 ​3、完美转发 一、左值引用 && 右值引用 传统的C语法中就有引用的语法&#xff0c;而C11中新增了…

Day 43 1049. 最后一块石头的重量 II 494. 目标和 474.一和零

最后一块石头重量Ⅱ 有一堆石头&#xff0c;每块石头的重量都是正整数。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果如下&#xff1a; 如果 x y&#xff0c;那么两…

提取网页元数据的Python库之lassie使用详解

概要 Lassie是一个用于提取网页元数据的Python库,它能够智能地抓取网页的标题、描述、关键图像等内容。Lassie的设计目的是为了简化从各种类型的网页中提取关键信息的过程,适用于需要预览链接内容的应用场景。 安装 安装Lassie非常简单,可以通过Python的包管理器pip进行安…

芋道系统springcloud模块启动报错,枚举类不能为空

问题描述&#xff1a; Error starting ApplicationContext. To display the conditions report re-run your application with debug enabled. 2024-05-10 15:50:15.756 | ERROR 9120 | main [TID: N/A] o.s.b.d.LoggingFailureAnalysisReporter | ************************…

TriCore: Architecture

说明 本文是 英飞凌 架构文档 TriCore TC162P core archiecture Volume 1 of 2 (infineon.com) 的笔记&#xff0c;稍作整理方便查阅&#xff0c;错误之处&#xff0c;还请指正&#xff0c;谢谢 :) 1. Architecture 2. General Purpose & System Register 名词列表&#…

通俗的理解网关的概念的用途(三):你的数据包是如何到达下一层的

其实&#xff0c;这一章我写不好&#xff0c;因为这其中会涉及到一些计算和一些广播等概念&#xff0c;本人不善于此项。在此略述&#xff0c;可以参考。 每台设备的不同连接在获得有效的IP地址后&#xff0c;会根据IP地址的规则和掩码的规则&#xff0c;在操作系统和交换机&a…

【前端基础】CSS样式+Vue中绘制时间轴

深度选择器 在 Vue.js 中&#xff0c;/deep/、>>>、:deep 和 ::v-deep 这些都是深度选择器&#xff0c;用于修改子组件的样式。它们主要用于解决作用域样式和组件样式之间的冲突问题。 1. /deep/ 或 >>> /deep/ 和 >>> 是相同的选择器&#xff0c;…