VUE 实现复制内容到剪贴板的两种方法


Posted in Javascript onApril 24, 2019

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 实现复制内容到剪贴板的两种方法

总结

以上所述是小编给大家介绍的VUE 实现复制内容到剪贴板功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
使用js判断控件是否获得焦点
Jan 03 Javascript
使用javascript做的一个随机点名程序
Feb 13 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
Mar 02 Javascript
jQuery实现自定义事件的方法
Apr 17 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
Aug 24 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
Mar 09 Javascript
Vuejs第十篇之vuejs父子组件通信
Sep 06 Javascript
微信小程序 特效菜单抽屉效果实例代码
Jan 11 Javascript
vue 搭建后台系统模块化开发详解
May 01 Javascript
vue制作toast组件npm包示例代码
Oct 29 Javascript
使用Ajax实现进度条的绘制
Apr 07 Javascript
详解一个小实例理解js原型和继承
Apr 24 #Javascript
微信小程序实现的一键复制功能示例
Apr 24 #Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
Apr 24 #Javascript
解决vue 单文件组件中样式加载问题
Apr 24 #Javascript
vue router 用户登陆功能的实例代码
Apr 24 #Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 #Javascript
vue.js多页面开发环境搭建过程
Apr 24 #Javascript
You might like
自己动手做一个SQL解释器
2006/10/09 PHP
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
文字幻灯片
2006/06/26 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
你或许不知道的一些npm实用技巧
2019/07/04 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
python奇偶行分开存储实现代码
2018/03/19 Python
python 实现登录网页的操作方法
2018/05/11 Python
Python登录注册验证功能实现
2018/06/18 Python
pytorch数据预处理错误的解决
2020/02/20 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
给民警的表扬信
2014/01/08 职场文书
社区十八大感言
2014/01/19 职场文书
学校门卫管理制度
2014/01/30 职场文书
黄河象教学反思
2014/02/10 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis