Vue实现点击按钮复制文本内容

第一种方法:

点击复制功能主要通过  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('复制成功!');
},

Vue中,你可以使用不同的方法来实现点击复制文本的功能。引用\[1\]中的代码展示了一个使用`this.$copyText()`方法进行复制的例子。你可以在点击事件中调用该方法来复制文本。例如: ```html <button @click="copyText">点击复制文本</button> ``` ```javascript methods: { copyText() { const text = "要复制文本"; this.$copyText(text).then(() => { this.$toast('复制成功!'); }).catch(() => { this.$toast('复制失败!'); }); } } ``` 另外,引用\[2\]中的代码展示了一个使用`data-clipboard-text`属性和插件的例子。你可以在按钮上添加`data-clipboard-text`属性,并在点击事件中调用插件的复制方法来复制文本。例如: ```html <button class="tag-read" data-clipboard-text="要复制文本" @click="copyText">点击复制文本</button> ``` ```javascript methods: { copyText() { this.$copyText("要复制文本").then(() => { this.$toast('复制成功!'); }).catch(() => { this.$toast('复制失败!'); }); } } ``` 还有一种方法是使用原生的JavaScript复制文本。引用\[3\]中展示了两种原生复制文本的方法。你可以根据需要选择其中一种方法来实现点击复制文本的功能。例如: ```html <span class="number">{{value}}</span> <span class="copy" @click="copyText(value)">复制</span> ``` ```javascript methods: { copyText(value) { const text = document.querySelector(".number"); let range = document.createRange(); range.selectNodeContents(text); let selection = document.getSelection(); selection.removeAllRanges(); selection.addRange(range); document.execCommand("Copy"); this.$toast("复制成功"); } } ``` 希望这些例子能帮助你实现Vue中点击复制文本的功能。 #### 引用[.reference_title] - *1* *3* [功能:Vue如何实现点击复制功能](https://blog.csdn.net/weixin_47434590/article/details/128239982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [vue点击复制按钮 复制文本](https://blog.csdn.net/weixin_53981442/article/details/127651022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值