前两天遇见的bug,记录一下
现象:
- H5页面使用setClipboardData复制时,会导致页面刷新,滚动条回到顶部
原代码:
uni.setClipboardData({
data,
success: () => {
console.log('复制成功')
},
fail: () => {
console.log('复制失败')
}
});
修改代码:
H5页面进行兼容处理,使用复制的npm包
- 由于uniapp使用的是vue2编写,因此使用vue-clipboard2,vue3可以使用vue-clipboard3
下载包:
npm install --save vue-clipboard2
main.js
import Vue from 'vue'
// #ifdef H5
import VueClipboard from 'vue-clipboard2'
Vue.use(VueClipboard)
// #endif
使用:
// #ifdef APP-PLUS
uni.setClipboardData({
data,
success: () => {
console.log('复制成功')
},
fail: () => {
console.log('复制失败')
}
});
// #endif
// #ifdef H5
this.$copyText(data).then(()=>{
console.log('复制成功')
},()=>{
console.log('复制失败')
})
// #endif