clipboard.js 638 B

1234567891011121314151617181920212223242526272829303132
  1. import Vue from 'vue'
  2. import Clipboard from 'clipboard'
  3. function clipboardSuccess(message) {
  4. Vue.prototype.$toast({
  5. message,
  6. type: 'success',
  7. duration: 1500
  8. })
  9. }
  10. function clipboardError(message) {
  11. Vue.prototype.$toast({
  12. message: '复制失败',
  13. type: 'fail'
  14. })
  15. }
  16. export default function handleClipboard(text, event, message) {
  17. const clipboard = new Clipboard(event.target, {
  18. text: () => text
  19. })
  20. clipboard.on('success', () => {
  21. clipboardSuccess(message)
  22. clipboard.destroy()
  23. })
  24. clipboard.on('error', () => {
  25. clipboardError()
  26. clipboard.destroy()
  27. })
  28. clipboard.onClick(event)
  29. }