第一种方法:

点击复制功能主要通过  clipboard.js  来实现

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

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

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

     第二种:<script src="js/clipboard.min.js"></script>(下载地址:clipboard.js — Copy to clipboard without Flash

2、在需要使用的组件中import

     引用方法: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()
        })
}

第二种方法:

<div class="copy-btn2" @click="copyOrderId2('复制成功了2222222')"><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('复制成功!');
},

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐