vue点击按钮复制文本粘贴

vue点击按钮复制文本粘贴

本人通过找资料总结出了两种方法,如下:

一、引入clipboard.js,方法如下:
  1. 第一种直接npm安装:npm install clipboard --save
    第二种:<script src="js/clipboard.min.js"></script> 下载地址

  2. 引入,可以在mian.js中全局引入也可以在单个vue中引入
    单页面引用:import Clipboard from “clipboard”;

    main.js中全局引入:
    import Clipboard from ‘clipboard’;
    Vue.prototype.Clipboard=Clipboard;

  3. 使用,:data-clipboard-text中即为你要复制的内容

    <span
   class="copybtn"
  @click="copywxtap"
   :data-clipboard-text="productsContent.ProductName"
   >
  {{ productsContent.ProductName }}
   </span>
  1. 在methods中调用copy事件
copywxtap() {
      var clipboard = new Clipboard(".copybtn");
      clipboard.on("success", (e) => {
        alert('复制成功')
        // 释放内存
        clipboard.destroy();
      });
      clipboard.on("error", (e) => {
        // 不支持复制
        Talert('该浏览器不支持自动复制');
        // 释放内存
        clipboard.destroy();
      });
    },
通过构建input实列的方法,不需要引入插件
<span
            @click="copywxtap"
            v-text="datalist.product_name"
            ref="copytext"
          ></span>

在methods方法里面使用:

 copywxtap() {
      this.copyContent = this.$refs.copytext.innerText;//也可以直接写上等于你想要复制的内容
      var input = document.createElement("input"); // 直接构建input
      input.value = this.copyContent; // 设置内容
      console.log(input.value);
      document.body.appendChild(input); // 添加临时实例
      input.select(); // 选择实例内容
      document.execCommand("Copy"); // 执行复制
      document.body.removeChild(input); // 删除临时实例
      alert("复制成功");
    },

https://zhuanlan.zhihu.com/p/344160665参考文档

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值