Vue中使用clipboard实现复制功能


Posted in Javascript onSeptember 05, 2018

clipboard.js 是一个不需要flash,将文本复制到剪贴板的插件。下面给大家介绍Vue中使用clipboard实现复制功能,具体内容如下所示:

首先现在Vue中引入clipboard

npm install clipboard --save

在需要使用的组件中import 引入clipboard

import Clipboard from 'clipboard';

clipboard的实际使用

不论是单按钮复制还是多按钮复制,一定要在页面加载DOM完成后先New出来具有复制功能的按钮,如果在函数内再New那么可能会出现点击复制按钮两次,才复制成功的现象,如下:

mounted() {
  var copybtn = document.getElementsByClassName('btn')
  this.clipboard = new Clipboard(copybtn);
  }
<!--并不一定非要在mounted中也可以在其他周期内,

    只要页面已经加载完DOM即可,如果是动态生成可以使用nextTick中New。-->

绑定复制内容的方式有以下几种:

<!--第一种直接绑定在按钮上-->
 <button class="marleft10 btn" style="float: right;border: none;" :data-clipboard-text="2"
    @click="copy()">复制
    </button>
<!--第二种单个复制按钮动态获取需要复制的内容-->
<input type="text" v-model="copyContent" id="copy_text" style="opacity: 0">
<button ref="copy" data-clipboard-action="copy" data-clipboard-target="#copy_text" @click="copy">复制</button>
<!--第三种可以在New Clipboard时设定要复制的内容-->
new Clipboard('copyBtn',function(){
  return <!--要复制的内容-->
})
copy(){
  let _this = this
  <!--如果在内部new会出现点击两次在复制成功的现象所以还请各位多多注意-->
  clipboard.on('success', function () {
    Toast('复制成功')
    _this.destroy() <!--销毁缓存,然后在重新new这样不会出现点击复制上出现之前复制的内容的情况-->
    _this.clipboard = new Clipboard(copyBtn);
  })
  clipboard.on('error', function () {
    Toast('复制失败,请手动复制')
   })
  }

总结

以上所述是小编给大家介绍的Vue中使用clipboard实现复制功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript高级程序设计(第3版)学习笔记7 js函数(上)
Oct 11 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
Dec 24 Javascript
js中哈希表的几种用法总结
Jan 28 Javascript
jQuery多项选项卡的实现思路附样式及代码
Jun 03 Javascript
checkbox勾选判断代码分析
Jun 11 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
Feb 28 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
May 11 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
Nov 07 Javascript
BootStrap便签页的简单应用
Jan 06 Javascript
JavaScript实现重力下落与弹性效果的方法分析
Dec 20 Javascript
Vue Cli3 创建项目的方法步骤
Oct 15 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
Sep 27 Javascript
vue-cli3.0配置及使用注意事项详解
Sep 05 #Javascript
Vue-cli@3.0 插件系统简析
Sep 05 #Javascript
vue实现点击选中,其他的不选中方法
Sep 05 #Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 #Javascript
Node.js 使用request模块下载文件的实例
Sep 05 #Javascript
详解Angular6学习笔记之主从组件
Sep 05 #Javascript
webpack4 入门最简单的例子介绍
Sep 05 #Javascript
You might like
php escape URL编码
2008/12/10 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
angular基于路由控制ui-router实现系统权限控制
2016/09/27 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
python根据距离和时长计算配速示例
2014/02/16 Python
Python中的下划线详解
2015/06/24 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
python中使用while循环的实例
2019/08/05 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
Python二次规划和线性规划使用实例
2019/12/09 Python
python groupby 函数 as_index详解
2019/12/16 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
《大江保卫战》教学反思
2014/04/11 职场文书
个人学习党的群众路线教育实践活动心得体会
2014/11/05 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
运动会闭幕词
2015/01/28 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL
二维码条形码生成的JavaScript脚本库
2022/07/07 Javascript