• 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/
  • 相关阅读:
    学习MyBatis时报的错
    Day01
    PAT乙级01
    基于python-django框架的支付宝支付案例
    单线程与多线程的应用 --Python3
    Python异常 --Python
    有四个数字能组成多少个互不相同的三位数 --Python
    with as用法 --Python
    采用霍夫曼编码(Huffman)画出字符串各字符编码的过程并求出各字符编码 --多媒体技术与应用
    函数和代码复用 --Python
  • 原文地址:https://www.cnblogs.com/steamed-twisted-roll/p/11540766.html
Copyright © 2020-2023  润新知