美文网首页程序员
vue项目中实现复制粘贴

vue项目中实现复制粘贴

作者: 蜡笔小序 | 来源:发表于2020-04-08 13:53 被阅读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>

相关文章

网友评论

    本文标题:vue项目中实现复制粘贴

    本文链接:https://www.haomeiwen.com/subject/thhtmhtx.html