需求: 点击复制按钮,复制一个链接

在GitHub上找到一个clipboard组件,功能比较齐全
使用方法:
 
安装
npm i clipboard --save
HTML
<template>
<div class="info_item nomargin">
<p class="info_content">您的登录地址</p>
<p class="info_text link_text">
<!-- 需要复制的内容,需要指定一个id -->
<input class="text_link" type="text" id="link" :value="url" ref="link">
<!-- 复制按钮 -->
<button class="btn" @click="copyLink" data-clipboard-action="copy" data-clipboard-target="#link">复制
</button>
<!-- 复制成功/失败的提示 -->
<span class="message" v-show="isShow">{{word}}</span>
</p>
</div>
</template>
js文件
// 引入
import Clipboard from 'clipboard'
export default {
data () {
return {
isShow: false,
word: 'success',
url: ''
}
}, // 实例创建后,进行默认数据处理
created () {
this.url = `${location.hostname}/#/login`
},
// 方法集合
methods: {
// 复制链接方法
copyLink () {
let clipboard = new Clipboard('.btn')
clipboard.on('success', e => {
this.isShow = true
this.word = 'Success'
setTimeout(() => {
this.isShow = false
}, 500)
clipboard.destroy() // 使用destroy可以清楚缓存
})
clipboard.on('error', e => {
this.word = 'Fail'
this.isShow = true
setTimeout(() => {
this.isShow = false
}, 500)
clipboard.destroy()
})
}
}
}
点击复制,成功,这样就复制成功了
这个组件还有一些其他功能,可以阅读下文档http://www.clipboardjs.cn/

vue+element-ui 项目中实现复制文字链接功能的更多相关文章

  1. 在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表

    在我的<FastReport报表随笔>介绍过各种FastReport的报表设计和使用,FastReport报表可以弹性的独立设计格式,并可以在Asp.net网站上.Winform端上使用, ...

  2. 在Vue&Element前端项目中,对于字典列表的显示处理

    在很多项目开发中,我们为了使用方便,一般都会封装一些自定义组件来简化界面的显示处理,例如参照字典的下拉列表显示,是我们项目中经常用到的功能之一,本篇随笔介绍在Vue&Element前端项目中如 ...

  3. Vue + Element UI项目初始化

    1.安装相关组件 1.1安装Node 检查本地是否安装node node -v 如果没有安装,从Node官网下载 1.2安装npm npm -v 如果没有安装:使用该指令安装: npm install ...

  4. vue+element ui项目总结点(二)table合计栏目,按照起始年份--截止年份 插入数据并向后追加数据以最后一条年份+1

    1.oninput 事件在用户输入时触发; <template> <div class="test_box"> <p>hell,你好</p ...

  5. vue+element ui项目总结点(一)select、Cascader级联选择器、encodeURI、decodeURI转码解码、mockjs用法、路由懒加载三种方式

    不多说上代码: <template> <div class="hello"> <h1>{{ msg }}</h1> <p> ...

  6. vue+element ui项目总结点(四)零散细节概念巩固如vue父组件调用子组件的方法、拷贝数据、数组置空问题 等

    vue config下面的index.js配置host: '0.0.0.0',共享ip (假设你的电脑启动了这个服务我电脑一样可以启动)-------------------------------- ...

  7. vue+element ui项目总结点(三)富文本编辑器 vue-wangeditor

    1.参考 https://www.npmjs.com/package/vue-wangeditor 使用该富文本编辑器 <template> <div class="egi ...

  8. vue + element ui开发过程中需要注意的几个点

    1.实现动态的数据双向绑定 关键字[$set]在这个需求开发的过程中还遇到深度克隆的问题 2:form表单的动态字段验证 关键字[promise.all] 3:动态表单验证关键字[el-form-it ...

  9. vue+element ui项目总结点(五)Carousel 走马灯组件、Collapse 折叠面板、Tree 树形控件

    <template> <div class="ele_test_box"> <!-- 常用效果 Popover 弹出框组件 具体属性查看官方文档--& ...

随机推荐

  1. smart_pointer example

    #pragma oncetemplate<typename T>class smart_pointer{private: T* m_pRawPointer;public: smart_po ...

  2. IPv6地址表示方式

    1.IPv6 简介    IPv6是英文“Internet Protocol version 6”(互联网协议第6版)的缩写,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地 ...

  3. swift 第十二课 as 的使用方法

    忽略的基础性的问题,应该早点写出这个问题的解释比较好,毕竟 swift 好多的地方都用到了 as as!as?,是非常容易搞晕大脑的 1,as使用场合          (1)从派生类转换为基类,向上 ...

  4. ivy使用Maven阿里云镜像的问题

    ivy默认使用的Maven仓库下载速度有点慢,所以想改成国内的,添加如下resolver: <ibiblio name="working-chinese-mirror" ro ...

  5. JS遍历数组,实现数组去重(重复的元素只保留一个)

    1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: var arr=[2,8,5, ...

  6. AssassinGo: 基于Go的高并发可拓展式Web渗透框架

    转载自FreeBuf.COM AssassinGo是一款使用Golang开发,集成了信息收集.基础攻击探测.Google-Hacking域名搜索和PoC批量检测等功能的Web渗透框架,并且有着基于Vu ...

  7. Tomcat 部署web 项目

    转载,原文链接: https://www.cnblogs.com/ysocean/p/6893446.html 侵删 回到顶部 3.Tomcat 的目录结构 回到顶部 4.部署项目的第一种方法(项目直 ...

  8. Odoo13 新功能:委外

    [ADD] mrp_subcontracting In a few words, it allows to send components to a subcontractor partner and ...

  9. spring中的BeanFactoryPostProcessor

    spring中的BeanFactoryPostProcessor和BeanPostProcessor有些像,BeanPostProcessor是在bean的初始化前后进行一些操作, BeanFacto ...

  10. std::unique_lock与std::lock_guard分析

    背景 C++多线程编程中通常会对共享的数据进行写保护,以防止多线程在对共享数据成员进行读写时造成资源争抢,导致程序出现未定义或异常行为.通常的做法是在修改共享数据成员时进行加锁(mutex).在使用锁 ...