一个常用的库就是 clipboard.js,它可以帮助您实现跨浏览器的复制到剪贴板功能
首先,安装 clipboard.js:
javascript
cnpm install clipboard
创建一个 Vue 组件并使用 clipboard.js:
html
<template>
<div>
<input v-model="textToCopy" type="text" />
<button @click="copyText">Copy</button>
</div>
</template>
<script setup>
import Clipboard from 'clipboard';
import { ref } from 'vue';
const textToCopy = ref('');
const copyText = () => {
const clipboard = new Clipboard('.copy-button', {
text: () => textToCopy.value
});
clipboard.on('success', (e) => {
console.log('Text copied:', e.text);
clipboard.destroy(); // 清理 clipboard 实例
});
clipboard.on('error', (e) => {
console.error('Copy failed:', e.action);
clipboard.destroy();
});
clipboard.onClick(event); // 触发点击事件
};
</script>