VUE 实现复制内容到剪贴板的两种方法
程序员文章站
2023-12-01 13:32:28
vue 复制内容至剪切板(两种使用方法)
复制内容至剪切板使用的是插件'vue-clipboard2',通过官方文档会发现共有两种使用方式。
第一种方式与大多数文章类似...
vue 复制内容至剪切板(两种使用方法)
复制内容至剪切板使用的是插件'vue-clipboard2'
,通过官方文档会发现共有两种使用方式。
第一种方式与大多数文章类似,只粘贴代码:
<template> <div class="container"> <input type="text" v-model="message"> <button type="button" v-clipboard:copy="message" v-clipboard:success="oncopy" v-clipboard:error="onerror">copy!</button> </div> </template> <script> export default { data() { return { message: 'copy these text', } }, methods: { oncopy: function (e) { alert('you just copied: ' + e.text) }, onerror: function (e) { console.log(e) alert('failed to copy texts') } } } </script>
这种使用方式直接将变量内容复制至剪切板,暂时没有找到处理数据后再复制的方式,这时就需要使用第二种方式。
第二种方式:
<template> <div class="container"> <input type="text" v-model="message"> <button type="button" @click="docopy('add me!')">copy!</button> </div> </template> <script> export default { data() { return { message: 'copy these text' } }, methods: { dataprocessing (val) { this.message = this.message + ' ' + val }, docopy: function (val) { this.dataprocessing(val) this.$copytext(this.message).then(function (e) { alert('copied') console.log(e) }, function (e) { alert('can not copy') console.log(e) }) } } } </script>
通过这段示例代码能看到,复制动作使用的是vue响应函数方式,这就为复制前控制数据提供了可能!
下面在看下vue实现复制内容到剪贴板功能,具体内容如下所示:
注: 依赖第三方插件 clipboard
一、安装插件
npm install vue-clipboard2 --save
二、全局注入(main.js)
import vueclipboard from 'vue-clipboard2' vue.use(vueclipboard)
三、使用
<ul class="file-list"> <li v-for="(f, index) of files" :key="index"> <span>[文件{{index + 1}}] {{f}}</span> <span class="copy-btn" v-clipboard:copy="f" v-clipboard:success="oncopy" v-clipboard:error="onerror">复制</span> </li> </ul> // 复制成功时的回调函数 oncopy (e) { this.$message.success("内容已复制到剪切板!") }, // 复制失败时的回调函数 onerror (e) { this.$message.error("抱歉,复制失败!") }
四、效果图
总结
以上所述是小编给大家介绍的vue 实现复制内容到剪贴板功能,希望对大家有所帮助