• 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/
  • 相关阅读:
    Flask-数据库操作
    Flask-模板
    Flask-路由和视图
    Python调用摄像头
    Python操作mysql
    Java数据结构-栈
    SpringBoot前端使用JSP
    SpringBoot的核心配置文件
    第一个SpringBoot项目
    17.1.2 流、缓冲区和iostream文件
  • 原文地址:https://www.cnblogs.com/steamed-twisted-roll/p/11540766.html
Copyright © 2020-2023  润新知