思路
- 创建文本域,并把需要复制的字符串赋值给value属性
- 选中(聚焦)文本域
- 执行复制操作
document.execCommand('Copy')
实现
export const copyStr = (url: string, success?: () => void, error?: () => void) => {
if (!url) return;
try {
let textArea: HTMLTextAreaElement;
textArea = document.createElement('textArea') as HTMLTextAreaElement;
textArea.value = url;
document.body.appendChild(textArea);
textArea.select();
if (document.execCommand('Copy')) {
success && success();
} else {
error && error();
}
document.body.removeChild(textArea);
} catch (err) {
error && error();
}
};