zoukankan      html  css  js  c++  java
  • vue通过插件clipboard复制文本

    1、下载

    npm install clipboard --save 

    2、在需要复制的组件中引入

    import Clipboard from 'clipboard'

      也可以在main.js中引入:

    import Clipboard from 'clipboard'
    Vue.prototype.$clipboard = Clipboard;

      此时在使用的时候 Clipboard 需改为 this.$clipboard

    let clipboard = new this.$clipboard('.copy_btn')

    3、通过属性 data-clipboard-text 绑定需要复制的值,设置一个类名供插件获取dom,通过点击事件触发回调

        <input type="text" v-model="message" />
        <el-button class="copy_btn" :data-clipboard-text="message" @click="handleCopy">点击复制</el-button>
        handleCopy() {
          let clipboard = new Clipboard('.copy_btn')
          clipboard.on('success', (e) => {
            this.$message.success('复制成功')
            clipboard.destroy() // 释放内存
          })
          clipboard.on('error', (e) => {
            this.$message.error('不支持复制')
            clipboard.destroy() // 释放内存
          })
        }

    完整代码:

    <template>
      <div>
        <input type="text" v-model="message" />
        <el-button class="copy_btn" :data-clipboard-text="message" @click="handleCopy">点击复制</el-button>
      </div>
    </template>
    <script>
    import Clipboard from 'clipboard'
    export default {
      data() {
        return {
          message: '我是可以复制的内容,请点击复制'
        }
      },
      methods: {
        handleCopy() {
          let clipboard = new Clipboard('.copy_btn')
          clipboard.on('success', (e) => {
            this.$message.success('复制成功')
            clipboard.destroy() // 释放内存
          })
          clipboard.on('error', (e) => {
            this.$message.error('不支持复制')
            clipboard.destroy() // 释放内存
          })
        }
      }
    }
    </script>
    View Code
  • 相关阅读:
    vue—子调父 $emit (把子组件的数据传给父组件)
    解决 Error: EBUSY: resource busy or locked, rmdir 'E:/...'问题
    php中session原理及安全性问题
    MySQL函数大全及用法示例
    php基础语法
    常用sql语句
    php表单传值--GET和POST
    jQuery插件的使用方法
    $.ajax()方法详解
    php文件上传
  • 原文地址:https://www.cnblogs.com/wuqilang/p/14841820.html
Copyright © 2011-2022 走看看