el-table实现双击单元格完成复制的功能并为指定单元格添加鼠标小手

1.在el-table标签上添加cell-dblclick事件

<el-table :data="eventList" @cell-dblclick="celldblclick" :cell-style="cellStyle">
      ...
</el-table>
  • cell-dblclick函数有四个参数,分别是row, column, cell, event;
  • row就是被操作单元格所在行的所有的数据
  • cloumn可以看到被操作单元格的property,根据property可以再row中得到该单元格的值;
  • cell:可到该单元格的dom结构;
  • event可以根据其type属性值得到操作该单元格的事件名称;

2.在mehods中定义实现cell-dblclick事件对应的celldblclick方法,

    // 单元格双击复制
    function celldblclick(row, column, cell, event) {
      if (event.type === 'dblclick') {
        var save = function (e:any) {
          e.clipboardData.setData('text/plain', event.target.innerText)
          e.preventDefault() //阻止默认行为
        }
        document.addEventListener('copy', save)
        document.execCommand('copy')
        document.removeEventListener('copy', save)
      }
      //加提示
      ElMessage({
        message: '复制成功',
        type: 'success',
      })
    }
    // 单独单元格添加鼠标小手
    //我的是第5列,它是从0开始算
    function cellStyle(data: any) {
      if (data.columnIndex === 5) {
        return 'cursor:pointer;'
      }
    }

  1. event.type === "dblclick"表示是双击操作
  2. clipboardData是JavaScript剪切板对象,该对象提供了3个常用方法

clearData(): clipboardData对象从剪切板删除一种或多种数据格式(一个参数:数据类型)
getData(): clipboardData对象从剪切板获取指定格式的数据(一个参数:数据类型)
setData(): clipboardData对象赋予指定格式的数据(两个参数:数据类型,要赋予的值)
*数据类型一般为““text/plain” ”

转载地址:el-table实现双击单元格完成复制的功能_cell-dblclick_mini召唤师的博客-CSDN博客 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值