vue3实现一键复制\剪切内容

借助clipboard.js

下载
npm install clipboard --save
引入
import Clipboard from 'clipboard';
HTML

在dom上使用data-clipboard-text属性绑定要复制的内容

如果需要实现剪切 则在dom上添加 data-clipboard-action=‘cut’ 即可;

<el-button type="primary" id="textArea" :data-clipboard-text="contentVal" @click="copyContent()">复制</el-button>
JS

使用clipboard.on方法监听成功或失败回调

// 一键复制 文件内容
const copyContent = (id: number, link: string) => {
      const clipboard = new Clipboard(`#textArea`); // 获取dom
      clipboard.on('success', () => { // 成功回调
        ElMessage({
          type: 'success',
          message: '复制成功',
        });
        clipboard.destroy(); // 销毁多余的clipboard定义 否则会重复提示成功
      });
      clipboard.on('error', () => { // 失败回调
        ElMessageBox.confirm(
          `请手动复制:\n${link}`,
          {
            confirmButtonText: '确定',
            showCancelButton: false,
            type: 'info',
          },
        );
        clipboard.destroy();
      });
    };
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值