需求简述

表格用el-table实现,操作列的编辑按钮点击事件正常实现。现要为行加一点击事件,即row-click。加上后,发现点击操作列的编辑按钮时,会触发按钮本身事件,同时会触发行点击事件。第一版代码如下:

<template>
<el-table :data="tableData" border @row-click="rowClick">
<el-table-column prop="date" label="日期" width="150"></el-table-column>
<el-table-column prop="name" label="姓名" width="120"></el-table-column>
<el-table-column prop="province" label="省份" width="120"></el-table-column>
<el-table-column prop="city" label="市区" width="120"></el-table-column>
<el-table-column label="操作" width="100">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
</template>
</el-table-column>
</el-table>
</template> <script>
export default {
methods: {
handleClick () {
console.log('我是行编辑按钮');
},
rowClick (row, column) {
console.log('点击了某一行');
}
},
data () {
return {
tableData: [
{ date: '2016-05-02', name: '王小虎', province: '上海', city: '普陀区' },
{ date: '2016-05-04', name: '王小二', province: '北京', city: '朝阳区' }
]
};
}
};
</script>

原因分析

编辑按钮的父元素是单元格,单元格父元素是行。所以编辑按钮在点击时,会产生“冒泡”。从而触发行点击事件。

解决办法

1.按钮是el-button标签,为点击事件加.native.stop ,即 @click.native.stop=“handleClick(scope.row)”

2.按钮通过render函数渲染实现,render函数中自带event事件,不用传参,不用写e,直接e.stopPropagation()就可以,当然,加上e也没毛病。

on:{
click:e=>{
e.stopPropagation();
....
}

el-table行点击事件row-click与列按钮事件冲突的更多相关文章

  1. bootstrap 点击模态框上的提交按钮后,模态框不能关闭的解决办法

    项目问题如下图, 点击确定后,模态框没反应,按理,点击删除按钮时,弹出确认删除的模态框,点击确定后,使用ajax请求服务器,把数据库中对应的数据进行删除,根据服务器 servlet返回的状态值(del ...

  2. DuiLib逆向分析の按钮事件定位

    目录 DuiLib逆向分析の按钮事件定位 0x00 前言 DuiLib介绍 DuiLib安装 DuiLib Hello,World! Duilib逆向分析之定位按钮事件 碎碎念 第一步:获取xml布局 ...

  3. antd-vue中给table表格整行加点击事件

    <a-table :columns="columns" :dataSource="data" :loading="loading" : ...

  4. asp.net gridview 如何实现行点击事件

    第一步:绑定行点击事件 protected void GV_DATA_RowDataBound( object sender, GridViewRowEventArgs e ) { if( e.Row ...

  5. 架构模式数据源模式之:表数据入口(Table Data Gateway)、行数据入口(Row Data Gateway)、活动记录(Active Record)

    一:表数据入口(Table Data Gateway) 表数据入口提供了用于访问单个表或者视图(也包含了联表查询)的所有SQL,通常一个表一个类.其它代码通过它来实现对数据库的交互.基于这个特点,表数 ...

  6. js中的点击事件(click)的实现方式

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  7. table动态添加的tr 其click事件在IE兼容模式中不执行 jquery 1.9 的live事件 和获取 first last

    http://www.css88.com/jqapi-1.9/first-of-type/index.html#p=//www.css88.com/jqapi-1.9/last-child-selec ...

  8. 【easyUI】取消easyui行点击选中事件,智能通过勾选checkbox才能选中行

    背景:项目中使用easyui作为前端架子.datagrid默认是点击行就选中此行然后变色. 需求:点击行不让此行选中:只能通过点击复选框才能选中某一行. 解决思路: 1.写点击行函数function ...

  9. 从头开始一步一步实现EF6+Autofac+MVC5+Bootstarp极简前后台ajax表格展示及分页(二)前端修改、添加表格行点击弹出模态框

    在前一篇中,由于不懂jquery,前端做的太差了,今天做稍做修改,增加一个跳转到指定页面功能,表格行点击样式变化.并且在表格中加入bootstarp的按钮组,按钮点击后弹出模态框,须修改common, ...

随机推荐

  1. SpringBoot项目 使用Jenkins进行自动化部署 gitlab打tag 生产测试环境使用 含配置中心

    脚本 node('master') { def mvnHome = tool 'maven11-free' def gitUrl = "http://gitlab.wdcloud.cc:10 ...

  2. VMD的相关命令(转载)

    转载自:http://blog.sina.com.cn/s/blog_b48a7ac30102w6xg.html 自我学习总结: 1.打开VMD main上Extensions中的TkConsole这 ...

  3. 小白一样能建站——winser2012 IIS8.0搭建基本的网站

    在window server 2012环境下,搭建一个基本的 网站.能够使用即可. 打开服务器管理器 添加角色和功能 默认下一步 下一步, 下一步,选择web服务器 添加功能 下一步, 下一步,不安装 ...

  4. [CSP-S2019]树上的数 题解

    CSP-S2 2019 D1T3 考场上写了2h还是爆零……思维题还是写不来啊 思路分析 最开始可以想到最简单的贪心,从小到大枚举每个数字将其移动到最小的节点.但是通过分析样例后可以发现,一个数字在移 ...

  5. Mac 系统安装robot framework

    1.安装Python3 版本 2.安装robotframework:pip3 install robotframework 3.安装Pypubsub:pip3 install Pypubsub 4.安 ...

  6. mq本机上能用,其他机子上连上不mq

    有一次遇到了记录下.原因是suse11重启后会自动开防火墙. 关了防火墙. rcSuSEfirewall2 stopShutting down the Firewall done

  7. 解决 SQL 注入和 XSS 攻击(Node.js 项目中)

    1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令. SQL 注入示例 在登录界面,后端会根 ...

  8. APICloud数据云3.0 -- 让后端业务更简单

    近年来,各类移动端应用层出不穷,app.小程序已成为企业业务数字化的必然选择,围绕互联网产品的技术创新与开发者生态,正在历经行业发展的又一次革新. APICloud作为国内领先的移动应用开发平台,一直 ...

  9. java返回树形结构的正确姿势

    业务场景 通常我们前端需要一个树形的导航菜单或者分类菜单,如后台权限管理中的权限树,亦或者下面例子中商城系统的商品分类多级菜单(一般为三级菜单) 数据库设计 数据库设计,采用parentId来指向自己 ...

  10. 面试【JAVA基础】类加载机制

    1.类加载过程 1.1.加载 查找和导入class文件. 1.2.链接 验证 检验载入的class文件的正确性,完整性. 准备 给类的静态变量分配存储空间,会赋对象类型的默认值. 解析 将class常 ...