<a-table>行数据增加点击事件并获取点击行的数据+自定义button按事件

embedded/2024/10/24 0:32:29/

先看代码:

在 Ant - Design - Vue 的<a - table>组件中,通过customRow属性可以为表格的每一行添加自定义的行为和样式。当设置customRow为一个返回包含onClick函数的对象的函数时,实际上是在为每一行添加一个点击事件监听器。
在a-table标签中添加 :customRow=“rowClick” 自定义样式
然后在ts中定义rowClick方法,方法内使用onClick监听点击事件,
实现的基本思路便是,在自定义样式中自定义监听事件,形参record是我们点击获取的行数据。
DataItem 是我自己定义的数据类型接口。
以前是面向对象,现在是面向接口,接口大于一切,规范化编程。

<template><a-tablebordered:columns="columns":data-source="data":scroll="{ x: 1500, y: 300 }":customRow="rowClick"><template #bodyCell="{ column, record }"><template v-if="column.key === 'operation'"><div style="display: flex; align-items: center"><a-button @click="handleEdit(record)" style="background-color: #598db4">修改</a-button><a-button @click="handleDelete(record)" style="background-color: #598db4">删除</a-button></div></template></template></a-table>
</template><script setup lang="ts">javascript">
import type { TableColumnsType } from 'ant-design-vue';
const columns: TableColumnsType = [{ title: 'Name', width: 100, dataIndex: 'name', key: 'name'},{ title: 'Age', width: 100, dataIndex: 'age', key: 'age'},{title: 'Action',key: 'operation',fixed: 'right',align: 'center',width: 200,},
];interface DataItem {key: number;name: string;age: number;
}const data: DataItem[] = [{key: 1,name: 'John',age: 32,},{key: 1,name: 'John',age: 32,},
];
const handleEdit = (record: DataItem) => {const rec = record;console.log(rec);
}
const handleDelete = (record: DataItem) => {const rec = record;console.log(rec);
}const  rowClick = (record: DataItem ) => {return {onClick: () => {const rec = record;console.log(rec)},}
}</script><style scoped></style>

http://www.ppmy.cn/embedded/129693.html

相关文章

应用层协议编写,序列化反序列化,网络版计算器,Json序列反序列化工具,条件编译,结合网络协议栈理解协议定制

我们前面说了tcp与udp传输层协议的使用&#xff0c;现在我们来看看传输层的上层应用层&#xff0c;我们是如何约定协议的&#xff0c;是如何让我们的数据封装的&#xff1b; 1.应用层协议 为什么会有应用层协议呢&#xff1f;我们在前面tcp和udp服务器客户端代码实现时就已经…

vnc+wsl2试用

vncwsl2试用 一、vnc VNC&#xff08;Virtual Network Computing&#xff09;是一种远程桌面共享技术&#xff0c;允许用户通过网络远程访问和控制另一台计算机的桌面界面。它基于客户端-服务器架构&#xff0c;主要用于在不同操作系统之间进行远程连接。 工作原理 客户端和…

数据脱敏方案总结

什么是数据脱敏 数据脱敏的定义 数据脱敏百度百科中是这样定义的&#xff1a; 数据脱敏&#xff0c;指对某些敏感信息通过脱敏规则进行数据的变形&#xff0c;实现敏感隐私数据的可靠保护。这样就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集…

.net framework 3.5sp1安装错误卡住不动怎么解决

解决 .NET Framework 3.5 SP1 安装错误卡住的问题&#xff0c;可以尝试以下几种方法&#xff1a; 1.使用 DISM 工具&#xff1a; 将下载的 NetFx3.cab 文件放置在 C:\Windows 文件夹下。 以管理员身份打开命令提示符&#xff0c;输入以下命令&#xff1a; dism /online /En…

应对 .DevicData-X-XXXXXXXX 勒索病毒:防御与恢复策略

引言 随着信息技术的快速发展&#xff0c;网络安全问题愈发严峻。勒索病毒作为一种恶性网络攻击手段&#xff0c;已成为企业和个人面临的重大威胁之一。尤其是 .DevicData-X-XXXXXXXX 勒索病毒&#xff0c;其通过加密用户数据并勒索赎金&#xff0c;给受害者带来了巨大的经济损…

数据类型的通用操作

#通用操作有&#xff1a;for语句遍历&#xff0c;len()统计元素个数&#xff0c;是数据类型间的相互转换&#xff0c;元素的排序&#xff08;正反向&#xff09; 1.for语句遍历若遍历字典则 只去字典中的key(即名词) 2.各数据类型间的数据转换&#xff08;若为字典转化为列表…

【JS】如何识别一个变量是不是数组对象

文章目录 1. Array.isArray()语法示例 2. Object.prototype.toString.call()语法示例 3. instanceof 操作符语法示例 4. 检查 constructor属性语法示例 总结 在 JavaScript 中&#xff0c;有几种方法可以用来识别一个变量是否是数组对象。以下是一些常用的方法&#xff1a; 1. …

免费开源的微信开发框架

近年来&#xff0c;随着人工智能技术的快速发展&#xff0c;聊天机器人在各个领域得到了广泛的应用。在社交媒体中&#xff0c;自动回复成为了一个流行的功能&#xff0c;让用户可以方便地与机器人进行互动。gewe框架&#xff0c;一个开源的微信聊天机器人框架&#xff0c;实现…