el-table 原本的 cell-click 不能修改为捕获时触发,因此我们只能在自定义列中添加一层专门用于处理列的点击,并绑定.capture保证它在,按钮之前执行。 <template> <el-table :data="tableData" style="width: 100%" @cell-click="onCellClick"> <el-table-column align="right"> <template #default="scope"> <div @click.capture="cellClick(scope.row)"> <el-button size="small" @click="handleEdit(scope.$index, scope.row)"> Edit </el-button> </div> </template> </el-table-column> </el-table> </template> <script lang="ts" setup> interface User { date: string name: string address: string } const handleEdit = (index: number, row: User) => { console.log(index, row, 'handleEdit') } const tableData: User[] = [ { date: '2016-05-03', name: 'Tom', address: 'No. 189, Grove St, Los Angeles', }, ] const onCellClick = () => { console.log('onCellClick'); } const cellClick = (row:any) => { console.log('cellClick', row); } </script>