vue中点击复制粘贴功能

1.下载clipboard.js

cnpm install clipboard --save 

2.引入,可以在mian.js中全局引入也可以在单个vue中引入

import Clipboard from 'clipboard'; 

3.使用,在template中,这里我用了elementui框架

<el-table-column
        label="taskId">
        <template slot-scope="scope">
          <el-tooltip placement="top">
            <div slot="content">点击复制</div>
             <span style="display:block;cursor:pointer;width:100%;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;" class="tag-read" :data-clipboard-text="tableData[scope.$index].taskId" @click="copy">{{tableData[scope.$index].taskId}}</span>  
          </el-tooltip>
            </template>
      </el-table-column>

4.使用,在methods中

copy() {  
          var clipboard = new Clipboard('.tag-read')  
          clipboard.on('success', e => {  
            success("复制成功");//这里你如果引入了elementui的提示就可以用,没有就注释即可
                  // 释放内存  
                  clipboard.destroy()  
                })  
                clipboard.on('error', e => {  
                  // 不支持复制  
                  console.log('该浏览器不支持自动复制')  
                  // 释放内存  
                  clipboard.destroy()  
                })  
        },

5.最后效果:点击后直接可以在控制台进行粘贴

--------------------------》》》》》

 6.如果需要在main.js中引入

//引入剪切板插件clipboard;
import Clipboard from 'clipboard'; 
Vue.prototype.Clipboard=Clipboard;

vue组件中

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

 

说明:

1、转载地址:https://www.cnblogs.com/ldlx-mars/p/8819717.html

2、(不用插件)推荐:https://www.jianshu.com/p/612827519733

3、(vue-clipboard2)推荐:https://blog.csdn.net/dancer_mm/article/details/102521918

根据引用[1]提供的API文档,noVNC库本身并没有提供直接的复制粘贴功能。然而,你可以通过在noVNC使用Clipboard.js库来实现复制粘贴功能。下面是一个示例代码,演示了如何在Vue使用noVNC和Clipboard.js来实现复制粘贴功能: 首先,确保你已经在项目安装了noVNC和Clipboard.js库。 ```vue <template> <div> <div ref="vncContainer"></div> <button @click="copyToClipboard">复制</button> <button @click="pasteFromClipboard">粘贴</button> </div> </template> <script> import noVNC from 'novnc-core'; import ClipboardJS from 'clipboard'; export default { mounted() { // 创建noVNC实例 const vnc = noVNC.createClient(); vnc.mount(this.$refs.vncContainer); // 连接到VNC服务器 vnc.connect('ws://your-vnc-server-url'); // 初始化Clipboard.js const clipboard = new ClipboardJS('.copy-btn'); // 监听复制成功事件 clipboard.on('success', () => { console.log('复制成功'); }); // 监听粘贴成功事件 clipboard.on('paste', () => { console.log('粘贴成功'); }); }, methods: { copyToClipboard() { // 将文本复制到剪贴板 const text = '要复制的文本'; const input = document.createElement('input'); input.value = text; document.body.appendChild(input); input.select(); document.execCommand('copy'); document.body.removeChild(input); }, pasteFromClipboard() { // 从剪贴板获取文本 const text = navigator.clipboard.readText(); text.then((content) => { console.log('从剪贴板获取到的文本:', content); }); }, }, }; </script> ``` 上述代码,我们首先在Vue组件创建了一个noVNC实例,并将其挂载到一个容器元素上。然后,我们初始化了Clipboard.js,并在复制和粘贴按钮上添加了相应的点击事件处理函数。在复制按钮的点击事件处理函数,我们使用`document.execCommand('copy')`将指定的文本复制到剪贴板。在粘贴按钮的点击事件处理函数,我们使用`navigator.clipboard.readText()`从剪贴板获取文本内容。 请注意,上述代码只是一个示例,你需要根据你的具体需求进行适当的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值