代码实现思路
创建一个 textarea 标签然后通过 js原生
document.execCommand('copy');
来调用系统的复制功能
function copy(value){
return new Promise((resolve) => {
let copyTextArea = null;
try {
copyTextArea = document.createElement('textarea');
copyTextArea.style.height = '0px';
copyTextArea.style.opacity = '0';
copyTextArea.style.width = '0px';
document.body.appendChild(copyTextArea);
copyTextArea.value = value;
copyTextArea.select();
// 防止iphone 7 上复制失败
document.execCommand('SelectAll');
document.execCommand('copy');
resolve(value);
} finally {
if (copyTextArea && copyTextArea.parentNode) {
copyTextArea.parentNode.removeChild(copyTextArea);
}
}
})
}