• 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
  • 相关阅读:
    栈及其在.NET FrameWork中的源码分析
    《高性能网站建设指南》读书笔记
    九宫格数独问题
    队列及其在.NET FrameWork中的源码分析
    《web标准之道》读后感(书评)
    SharePoint中的权限体系
    关于异步方法调用
    WF4.0 Beta2:关于动态保存和装载XAML工作流
    Lotus Symphony介绍及试用
    Node.js 0.8.18 / 0.9.7 发布
  • 原文地址:https://www.cnblogs.com/wuqilang/p/14841820.html
Copyright © 2020-2023  润新知