首页 > 其他 > 详细

vue+element-ui 项目中实现复制文字链接功能

时间:2019-09-18 12:15:40      阅读:1108      评论:0      收藏:0      [点我收藏+]
需求: 点击复制按钮,复制一个链接
技术分享图片
在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 项目中实现复制文字链接功能

原文:https://www.cnblogs.com/steamed-twisted-roll/p/11540766.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!