一、使用场景:
在一个文本后面放复制按钮,直接复制,可以粘贴在任何地方,对于用户来说少了选取的步骤,更方便快捷
二、使用步骤:
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>
网友评论