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 相关文章推荐
5分钟理解JavaScript中this用法分享
Nov 09 Javascript
js 判断浏览器使用的语言示例代码
Mar 22 Javascript
js实现跨域的方法实例详解
Jun 24 Javascript
JS实现的简洁二级导航菜单雏形效果
Oct 13 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
Mar 17 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
Jun 12 Javascript
老生常谈JavaScript 正则表达式语法
Aug 20 Javascript
jQuery遍历节点方法汇总(推荐)
May 13 jQuery
Jquery把获取到的input值转换成json
May 15 jQuery
knockoutjs模板实现树形结构列表
Jul 31 Javascript
基于JavaScript 性能优化技巧心得(分享)
Dec 11 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
Jun 17 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代码技巧的小结
2013/06/02 PHP
学习php中的正则表达式
2014/08/17 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
使用javascript做的一个随机点名程序
2014/02/13 Javascript
JavaScript function 的 length 属性使用介绍
2014/09/15 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
jQuery自定义组件(导入组件)
2016/11/08 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
微信小程序与公众号卡券/会员打通的问题
2019/07/25 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
[45:06]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第二场 11.28
2020/12/02 DOTA
LRUCache的实现原理及利用python实现的方法
2017/11/21 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
html5基础标签(html5视频标签 html5新标签用法)
2013/12/30 HTML / CSS
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
麦当劳印度网上订餐:McDelivery
2020/03/16 全球购物
PHP笔试题
2012/02/22 面试题
什么是属性访问器
2015/10/26 面试题
舞蹈毕业生的自我评价
2014/03/05 职场文书
小学教师自我鉴定范文
2014/03/20 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书