现象
当我在调接口后,使用 copy-to-clipboard 去复制接口返回的链接时,会弹出上面的弹窗
const handleCopy = () => {
//调接口
fetch({
url: api.GET_DOWNLOAD_URL,
params
}).then((res) => {
if (res.success) {
copy(res.data.url)
}
})
}
但是直接使用 copy 复制一个常量,就不会弹
const handleCopy = () => {
copy(url)
}
原因
copy-to-clipboard 有一段这个代码,复制失败就会出现那个弹窗
解决办法:
给 copy 加一个 timeout(具体原理我不清楚,但是这样确实可以解决)
const handleCopy = () => {
//调接口
fetch({
url: api.GET_DOWNLOAD_URL,
params
}).then((res) => {
if (res.success) {
setTimeout(() => {
copy(res.data.url)
}, 0)
}
})
}