vue项目复制组件clipboard

1.实现背景

有时候项目中会有复制较长文本需要复制,为实现这个功能,封装公共方法

2.公共方法

import Vue from 'vue'
import Clipboard from 'clipboard'

function clipboardSuccess() {
  Vue.prototype.$message({
    message: 'Copy successfully',
    type: 'success',
    duration: 1500
  })
}

function clipboardError() {
  Vue.prototype.$message({
    message: 'Copy failed',
    type: 'error'
  })
}

export default function handleClipboard(text, event) {
  const clipboard = new Clipboard(event.target, {
    text: () => text
  })
  clipboard.on('success', () => {
    clipboardSuccess()
    clipboard.destroy()
  })
  clipboard.on('error', () => {
    clipboardError()
    clipboard.destroy()
  })
  clipboard.onClick(event)
}

3.页面引入

import clipboard from '@/utils/clipboard'

// 调用
clipboard(text, event)

 

©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页