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

在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. Servlet 的三种跳转方式

    1.Forword request.getRequestDispatcher (“url”).forword (request,response) 是请求转发,也就是说,一个 Servlet 向当前的 ...

  2. ifc解析与渲染

  3. 一百三十六:CMS系统之发布帖子后台逻辑

    模型 class PostModel(db.Model): __tablename__ = 'post' id = db.Column(db.Integer, primary_key=True, au ...

  4. java调用js脚本

    有些情况下,需要java去调用js,groovy等脚本语言,传入参数获取脚本运行的结果. js脚本例子: function add(a,b){ return a + b + number; } jav ...

  5. python 内置数据结构 字符串

    字符串 一个个字符组成的有序的序列,是字符的集合 使用单引号,双引号,三引号引住的字符序列 字符串是不可变对象 Python3起,字符串就是Unicode类型 字符串定义 初始化 s1 = 'stri ...

  6. mysql查看数据库所占用的空间

    查询某个表所占用的磁盘空间大小: SELECT CONCAT(ROUND(SUM(data_length/1024/1024),2),'MB') AS data_length_MB, CONCAT(R ...

  7. 服务器watchdog看门狗的理解

    1.什么是watchdog?watchdog,中文名称叫做“看门狗”,全称watchdog timer,从字面上我们可以知道其实它属于一种定时器.然而它与我们平常所接触的定时器在作用上又有所不同.普通 ...

  8. Allegro静态铜皮避让问题

    使用Allegro的人都知道,Allegro的铜分为静态和动态,我的设计习惯是需要满足载流地方一般使用静态铜皮,避免设计过程中因为打孔把铜皮割裂,这是静态铜皮的一个特性,不会自动避让,强制打孔或者走线 ...

  9. appium(屏幕滑动)

    class handleswipe(): """ 屏幕滑动操作 """ def __init__(self, driver, functio ...

  10. Ubuntu 18.04 更换阿里源

    1.备份 sudo cp /etc/apt/source.list /etc/apa/source.list.bak 2.编辑 sudo vim /etc/apt/source.list 3.修改内容 ...