1.需求
实现复制任意值到粘贴板的功能。
2.实现
思路:创建input dom后将被复制的值放入input。执行浏览器的复制方法或clipboard的复制方法进行复制操作。复制完成后删除创建的input。
import Clipboard from 'clipboard'
export function copy(str) {
const oInput = document.createElement('input')
oInput.value = str
oInput.id = 'copydom'
document.body.appendChild(oInput)
oInput.select()
const copyResult = document.execCommand('copy')
if (copyResult) {
message.success('复制成功')
document.body.removeChild(oInput)
} else {
let clipboard = new Clipboard('#copy')
clipboard.on('success', () => {
message.success('成功')
document.body.removeChild(oInput)
})
clipboard.on('error', () => {
message.error('复制失败')
document.body.removeChild(oInput)
})
}
}