vue中怎么实现复制操作?

本文章以两种方式来实现

方法一:插件Clipboard

  <div>
            <el-tooltip :content="array.a" placement="top">
              <span>
                <span>{{array.a }}</span>
                &nbsp;&nbsp;
                <i
                  class="el-icon-document-copy"
                  @click="copyBtn"
                  :data-clipboard-text="array.a"
                ></i>
              </span>
            </el-tooltip>

</div>
import Clipboard from "clipboard";
  copyBtn() {
      var clipboard = new Clipboard(".el-icon-document-copy");
      clipboard.on("success", (e) => {
        // 释放内存
        this.$notify({
          message: "复制成功",
          type: "success",
        });
        clipboard.destroy();
      });
      clipboard.on("error", (e) => {
        // 不支持复制
        console.log(e);
        console.log("该浏览器不支持自动复制");
        // 释放内存
        clipboard.destroy();
      });
    },

方法二:

<div>
              <span>{{array.a}}</span>
              <img
                src="@/assets/image/copy.png"
                data-clipboard-text="随便些什么,没有内容时,默认复制这个"
                @click="copy(array.a)"
                alt=""
              />
 </div>
 // 复制
    copy(val) {
      const input = document.createElement("input"); //创建input
      input.setAttribute("value", val); //把input设置value
      document.body.appendChild(input); //添加这个dom对象
      input.select(); //选中该输入框
      document.execCommand("copy"); //复制该文本
      document.body.removeChild(input); //移除输入框
      Message.success("复制成功");
    },

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值