<el-input readonly v-model="someWords"/>
<el-button type="primary" @click="handleCopy(someWords)">复制</el-button>
handleCopy(val) {
const text = val
// https安全协议下,使用navigator
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(() => {
console.log('复制成功~');
}).catch(err => {
console.error('复制失败: ', err);
});
} else {
// (本地开发时)http非安全协议下,navigator.clipboard.writeText无法使用,使用document.execCommand
const textarea = document.createElement('textarea');
textarea.value = text;
textarea.style.position = 'fixed';
document.body.appendChild(textarea);
textarea.select();
try {
document.execCommand('copy');
console.log('复制成功~');
} catch (err) {
console.error('复制失败:', err);
}
document.body.removeChild(textarea);
}
},