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

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

先看代码:

在 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">
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.mrgr.cn/news/56416.html

相关文章:

  • MobaXterm:tmux返回之前断连的会话命令窗口
  • JavaCV 图像灰度化处理
  • C++ 模版和继承
  • 嵌入式入门学习——6Protues点亮数码管,认识位码和段码,分辨共阴还是共阳(数字时钟第一步)
  • 海康设备视频平台/视频流协议在EasyCVR私有化视频平台中的应用
  • 什么样的JSON编辑器才好用_
  • MySQL之CRUD(下)
  • 中间件之MQ-Kafka
  • sql数据库的命令行操作(修改表)
  • Leetcode—1242. 多线程网页爬虫【中等】Plus(多线程)
  • C语言初阶小练习4(不用临时变量交换数值)
  • dolphinscheduler创建工作流及工作流中DataX的使用(简单操作)
  • TikTok账号被限流怎么解决?
  • 【二】企业级JavaScript开发之代码编辑器
  • 什么是表单数据
  • 群晖通过 Docker 安装 Gitea
  • 两个线程交替打印数字
  • 鸿蒙开发:两个重磅更新,鸿蒙版微信要来了!
  • Java学习Day50:唤醒八戒(Excel相关)
  • 中间件之Seata
  • Python酷库之旅-第三方库Pandas(160)
  • Linux基础命令(入门)
  • Java框架之MyBatis Plus
  • linux介绍与基本指令
  • Linux系统基础-进程间通信(2)_命名管道和System V通信
  • 【linux】线程 (三)