vue表格中实现复制某一行文本至剪切板

1、在循环体中把需要复制的文本节点标注唯一class,以下我用到couponsId

2、在循环体内添加一个输入框或者文本域,标注class,并设置透明度和脱离文档流

3、设置点击事件copyEvent,把当前循环的索引传入

<hz-table-column style="overflow: hidden">
  <textarea class="input" style="opacity: 0;position: absolute"></textarea>
  <span class="couponsId">{{ item.couponsId }}</span>
  <hz-help-tips :text="`点击复制 ${item.couponsId},${item.mobile}`" :icon-tips="false" 
    :duration="0">
    <img @click="copyEvent(index)"
         style="width: 20px;height: 20px;cursor: pointer;margin-left: 10px;"
         src="../../assets/images/copy.png" alt="">
  </hz-help-tips>
</hz-table-column>

下面是函数实现

    // 点击复制
    copyEvent(index) {
       // 拿到需要复制的节点dom
      let couponsIdDom = document.querySelectorAll(".couponsId");
       // 拿到输入框的节点dom
      let input = document.querySelectorAll('.input');
       // 将输入框的内容设置为文本的节点内容
      input[index].innerText = couponsIdDom[index].innerText
       // 选择输入框内容
      input[index].select();
       // 复制
      document.execCommand('copy');
       // 提示成功
      this.$message({
        message: '复制成功',
        type: 'success'
      });
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值