程序员

vue项目中实现复制粘贴

2020-04-08  本文已影响0人  蜡笔小序

一、使用场景:

在一个文本后面放复制按钮,直接复制,可以粘贴在任何地方,对于用户来说少了选取的步骤,更方便快捷

二、使用步骤:

1、安装clipboard =》npm install clipboard
2、在 utils文件下创建clipboard.js

import Vue from 'vue'
import Clipboard from 'clipboard'
function clipboardSuccess() {
  console.log('success')
  Vue.prototype.$message({
    message: '复制成功',
    type: 'success',
    duration: 1000
  })
}

function clipboardError() {
  console.log('error')
  Vue.prototype.$message({
    message: '复制失败',
    type: 'error'
  })
}
export default function handleClipboard(text, event) {
  const clipboard = new Clipboard(event.target, {
    text: () => text
  })
  clipboard.on('success', () => {
    clipboardSuccess()
    clipboard.off('error')
    clipboard.off('success')
    clipboard.destroy()
  })
  clipboard.on('error', () => {
    clipboardError()
    clipboard.off('error')
    clipboard.off('success')
    clipboard.destroy()
  })
  clipboard.onClick(event)
}

3.vue中使用的代码

<template>
  <div>
     <label>培训账号:</label>
     <input :value='trainAccount' readonly>
     <el-button size="mini" type="primary" plain   @click="handleCopy(trainAccount,$event)">复制账号</el-button>
  </div> 
</template>
<script>
  import clip from '@/utils/clipboard'
  export default {
    name: "index",
    data(){
      return {
        trainAccount:""
      }
    },
    methods:{
      handleCopy(text, event) { 
        clip(text, event)
        console.log('clicp')
      }
}
</script>

上一篇 下一篇

猜你喜欢

热点阅读