借助clipboard.js
下载
npm install clipboard --save
引入
import Clipboard from 'clipboard';
HTML
在dom上使用data-clipboard-text属性绑定要复制的内容
如果需要实现剪切 则在dom上添加 data-clipboard-action=‘cut’ 即可;
<el-button type="primary" id="textArea" :data-clipboard-text="contentVal" @click="copyContent()">复制</el-button>
JS
使用clipboard.on方法监听成功或失败回调
// 一键复制 文件内容
const copyContent = (id: number, link: string) => {
const clipboard = new Clipboard(`#textArea`); // 获取dom
clipboard.on('success', () => {
// 成功回调
ElMessage({
type: 'success',
message: '复制成功',
});
clipboard.destroy(); // 销毁多余的clipboard定义 否则会重复提示成功
});
clipboard.on('error', () => {
// 失败回调
ElMessageBox.confirm(
`请手动复制:\n${
link}`,
{
confirmButtonText: '确定',
showCancelButton: false,
type: 'info',
},
);
clipboard.destroy();
});
};