Vue3 + TypeScript + Element Plus 表格行按钮不触发 row-click 事件、不触发勾选行,只执行按钮的 click 事件

点击表格行按钮不触发 row-click 事件、不触发勾选行,只执行按钮的 click 事件

点击第一行的【编辑】,第一行为当前选择行, 同时也勾选了复选框,也会执行 row-click 事件

原来的代码:

html 复制代码
            <el-table-column label="操作" header-align="center" align="center" fixed="right" width="60">
              <template #default="scope">
                <el-button type="danger" size="default" text @click="onClick(scope.row.id)">编辑</el-button>
              </template>
            </el-table-column>

要相实现点击表格行按钮不触发 row-click 事件、不触发勾选行,只执行按钮的 click 事件

只需给click增加stop修饰符即可

修改后的代码:

html 复制代码
            <el-table-column label="操作" header-align="center" align="center" fixed="right" width="60">
              <template #default="scope">
                <!-- 点击时使用 .stop 修饰符阻止事件冒泡,只会执行@click的事件逻辑,其他事件不会触发,如 @row-click="onTableRowClick" -->
                <el-button type="danger" size="default" text @click.stop="onClick(scope.row.id)">编辑</el-button>
              </template>
            </el-table-column>

应用效果:

点击第一行的【编辑】,第一行为当前选择行, 不会勾选复选框,不会执行 row-click 事件

相关推荐
passer9815 小时前
基于Vue的场景解决
前端·vue.js
游荡de蝌蚪6 小时前
快速打造Vue后台管理系统
前端·javascript·vue.js
RoyLin9 小时前
TypeScript设计模式:代理模式
前端·后端·typescript
我是日安12 小时前
从零到一打造 Vue3 响应式系统 Day 10 - 为何 Effect 会被指数级触发?
前端·vue.js
RoyLin12 小时前
TypeScript设计模式:状态模式
前端·后端·typescript
RoyLin12 小时前
TypeScript设计模式:观察者模式
前端·后端·typescript
艾小码12 小时前
还在硬邦邦跳转页面?Vue这3招让应用丝滑如德芙!
前端·javascript·vue.js
RoyLin12 小时前
TypeScript设计模式:备忘录模式
前端·后端·typescript
RoyLin12 小时前
TypeScript设计模式:仲裁者模式
前端·后端·typescript
Olrookie12 小时前
ruoyi-vue(十五)——布局设置,导航栏,侧边栏,顶部栏
前端·vue.js·笔记