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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
JavaScript浏览器选项卡效果
Aug 25 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
Jun 11 Javascript
js 自带的sort() 方法全面了解
Aug 16 Javascript
jQuery实现的右下角广告窗体跟随效果示例
Sep 16 Javascript
如何使用headjs来管理和异步加载js
Nov 29 Javascript
vue.js的安装方法
May 12 Javascript
详解基于vue-router的动态权限控制实现方案
Sep 28 Javascript
spirngmvc js传递复杂json参数到controller的实例
Mar 29 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
Apr 18 jQuery
JavaScript实现仿Clock ISO时钟
Jun 29 Javascript
详解微信小程序中组件通讯
Oct 30 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+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
js opener的使用详解
2014/01/11 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
跟老齐学Python之Python文档
2014/10/10 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
Python数据类型详解(二)列表
2016/05/08 Python
Python中字典和集合学习小结
2017/07/07 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
2018/12/05 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
Python PO设计模式的具体使用
2019/08/16 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
WxPython实现无边框界面
2019/11/18 Python
Python+Redis实现布隆过滤器
2019/12/08 Python
python 一维二维插值实例
2020/04/22 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
PHP如何调用MYSQL存储过程
2014/05/30 面试题
物流管理专业职业生涯规划书
2014/01/06 职场文书
临床专业自荐信
2014/06/22 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
卖房授权委托书样本
2014/10/05 职场文书
小时代观后感
2015/06/10 职场文书
《所见》教学反思
2016/02/23 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
python中super()函数的理解与基本使用
2021/08/30 Python
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL