vue el-table表格点击某行触发事件&&操作栏点击和row-click冲突问题

文章为本新手菜鸡的问题记录,如有错误和不足还请大佬指正

文章目录


前言

文章主要解决两个问题:

1、点击el-table表格某行,触发事件

2、解决el-table的操作栏点击和row-click冲突问题


一、点击el-table表格某行,触发事件

查阅elementUI参考文档发现table可以通过@row-click事件来管理点击触发事件

c 复制代码
<template>
  <div>
  <el-table
	:data="state.orgTreeData"
	style="width: 100%"
	v-loading="state.loading"
	@row-click="handleClick"
	>
		<el-table-column></el-table-column>
	</table>
	</div>
</template>
<script lang="ts" setup name="admin/org">
const handleClick = (row) => {
  onEdit(row)
}
</script>

二、解决el-table的操作栏点击和row-click冲突问题

1.问题:

点击el-table某一行跳转到详情页,使用row-click(当某一行被点击时会触发该事件)后,会导致点击操作栏的按钮也会触发

例如下图中,点击表格某行跳转使用row-click,会触发左侧操作栏的按钮

2.解决方法

原生标签使用@click.stop,按钮el-button不是原生标签使用@click.native.stop,阻止事件冒泡

代码如下(示例):

c 复制代码
 <el-table-column label="操作" width="220" fixed="right" header-align="center" align="center">
 	<template #default="{ row }">
 		<el-button icon="ele-EditPen" size="small" text type="primary" @click.native.stop="onEdit(row)">编辑</el-button>
        <el-button icon="ele-Clock" size="small" text type="primary" @click.native.stop="onDelay">延期</el-button>
        <el-button icon="ele-Delete" size="small" text type="danger" @click.native.stop="onDelete(row)">删除</el-button>
    </template>
</el-table-column>
相关推荐
小陈工几秒前
Python Web开发入门(十二):使用Flask-RESTful构建API——让后端开发更优雅
开发语言·前端·python·安全·oracle·flask·restful
木斯佳1 分钟前
前端八股文面经大全:字节前端一面(2026-04-03)·面经深度解析
前端·面试题·面经
QfC92C02p4 分钟前
C# 中的 Span 和内存:.NET 中的高性能内存处理
java·c#·.net
xiaotao1317 分钟前
第八章:实战项目案例
前端·vue.js·vite·前端打包
We་ct10 分钟前
JS手撕:性能优化、渲染技巧与定时器实现
开发语言·前端·javascript·面试·性能优化·定时器·性能
taWSw5OjU19 分钟前
vue对接海康摄像头-H5player
开发语言·前端·javascript
huwuhang31 分钟前
跨平台电子书阅读器 | Readest最新版 安卓版+PC版全平台
android·前端·javascript
C澒31 分钟前
AI 生码:RAG 检索优化实现可评估、可回溯工程化
前端·ai编程
条tiao条33 分钟前
不止语法糖:TypeScript Set 与 Map 深度解析
前端·javascript·typescript
freewlt1 小时前
React Server Components 深度解析:从原理到实战的完整指南
前端·javascript·react.js