使用Clipboard前端插件
更多功能需要去官网发掘
<el-button @click="copy('复制文本',$event)">复制</el-button>
npm install clipboard -S
import Clipboard from 'clipboard'
import Vue from 'vue'
function copy(text, event){
const clipboard = new Clipboard(event.target, {
text: () => text
})
clipboard.on('success', () => {
Vue.prototype.$message({message:'success',type:'success'})
clipboard.destroy()
})
clipboard.on('error', () => {
Vue.prototype.$message({message:'error',type:'error'})
clipboard.destroy()
})
clipboard.onClick(event)
}
使用浏览器api
- 复制:execCommand('copy')
- 剪切:execCommand('cut')
- 粘贴:execCommand('paste')
copy() {
const transfer = document.createElement('input');
document.body.appendChild(transfer);
transfer.value = '';
transfer.focus();
transfer.select();
if (document.execCommand('copy')) {
document.execCommand('copy');
}
transfer.blur();
this.$message({
message: '复制成功!',
type: 'success',
});
document.body.removeChild(transfer);
}