vue+element-ui 项目中实现复制文字链接功能 - 潇湘羽西 - 博客园

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

在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.js, 独立小功能(demo)

好文要顶;) 关注我;) 收藏该文;) ; "分享至新浪微博") ; "分享至微信")

潇湘羽西
关注 - 4
粉丝 - 93

+加关注;)

1

0

« 上一篇: vue项目js实现图片放大镜功能
» 下一篇: vue+element-ui upload图片上传前大小超过4m,自动压缩到指定大小,长宽


原网址: 访问
创建于: 2021-08-06 12:30:29
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论