vue点击复制按钮 复制文本

第一种方法:

<div class="copy-btn2" @click="copyOrderId2('复制成功了')"><i class="el-icon-document-copy"></i>复制链接</div>
 
copyOrderId2(orderId) {
     var input = document.createElement("input"); // 创建input对象
     input.value = orderId; // 设置复制内容
     document.body.appendChild(input); // 添加临时实例
     input.select(); // 选择实例内容
     document.execCommand("Copy"); // 执行复制
     document.body.removeChild(input); // 删除临时实例
     this.$message.success('复制成功!');
},

我是比较懒,方法一看起来简单我就直接引用到vue3中了,效果已实现!

第二种方法:
点击复制功能主要通过 clipboard.js 来实现

在vue中使用clipboard.js 时候发现一个问题,就是如果不是input或者button 按钮的话,则复制不成功,使用步骤如下:

1、引入clipboard.js,方法如下:

 第一种直接npm安装:npm install clipboard --save 

2、在需要使用的组件中import 或者直接在main文件里注册

 引用方法:import Clipboard from 'clipboard';

3、添加需要复制的内容

例如:

<button class="tag-read" data-clipboard-text="我是可以复制的内容,请点击复制" @click="copy">立即阅读</button>

解析: data-clipboard-text 后边跟需要复制的内容

4、添加点击后的方法

copy() {
        var clipboard = new Clipboard('.tag-read')
        clipboard.on('success', e => {
          console.log('复制成功')
          // 释放内存
          clipboard.destroy()
        })
        clipboard.on('error', e => {
          // 不支持复制
          console.log('该浏览器不支持自动复制')
          // 释放内存
          clipboard.destroy()
        })
}

转载链接:http://t.csdn.cn/EWtWN

你可能感兴趣的:(vue.js)