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 相关文章推荐
JXTree对象,读取外部xml文件数据,生成树的函数
Apr 02 Javascript
Js 获取HTML DOM节点元素的方法小结
Apr 24 Javascript
js读写json文件实例代码
Oct 21 Javascript
JavaScript 作用域链解析
Nov 13 Javascript
js表头排序实现方法
Jan 16 Javascript
JavaScript生成SQL查询表单的方法
Aug 13 Javascript
完美实现八种js焦点轮播图(下篇)
Apr 20 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
Jul 19 Javascript
js实现div色块拖动录制
Jan 16 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
May 06 Javascript
uni-app实现获取验证码倒计时功能
Nov 01 Javascript
教你一步步实现一个简易promise
Nov 02 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源代码数组统计count分析
2011/08/02 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
JavaScript.The.Good.Parts阅读笔记(二)作用域&amp;闭包&amp;减缓全局空间污染
2010/11/16 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
ES6扩展运算符用法实例分析
2017/10/31 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
有趣的python小程序分享
2017/12/05 Python
python reduce 函数使用详解
2017/12/05 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
python实现两张图片的像素融合
2019/02/23 Python
Python按钮的响应事件详解
2019/03/04 Python
python仿抖音表白神器
2019/04/08 Python
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
安全资金保障制度
2014/01/23 职场文书
财产分割协议书范本
2014/11/03 职场文书
2014年督导工作总结
2014/11/19 职场文书
2015年教师国培感言
2015/08/01 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python