uni-app uni.setClipboardData在升级vue3之后不好用
uni-app uni.setClipboardData在升级vue3之后不好用
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | 15.3.1 | HBuilderX |
操作步骤:
uni.setClipboardData({
data: "测试",
showToast: true,
success: function () {
app.globalData.showToast("复制成功", "success");
},
complete: function (e) {
console.log("copy result: ", JSON.stringify(e));
}
});
预期结果:
弹窗 提示复制成功
实际结果:
调试终端输出
copy result: {"errMsg":"setClipboardData:fail"}
bug描述:
vue2时候正常,升级vue3报错
更多关于uni-app uni.setClipboardData在升级vue3之后不好用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
hello , 我这里经过测试,并没有出现这个问题,请提供一个可以复现的最小项目
更多关于uni-app uni.setClipboardData在升级vue3之后不好用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请问如何将项目提供给您?我新建一个项目,直接运行复制就会出错,所以会不会依赖的插件有问题?
新建项目运行如下
有这个问题,在 hbuilderx 内置浏览器会出现,暂时可以运行到 chrome
在uni-app升级到Vue3后,uni.setClipboardData
确实可能出现兼容性问题。根据你的错误信息,建议检查以下几点:
- 确保在调用API前已正确获取用户授权(iOS13+需要用户交互触发)
- 尝试改用Promise语法:
try {
await uni.setClipboardData({
data: "测试",
showToast: true
});
app.globalData.showToast("复制成功", "success");
} catch (e) {
console.error("复制失败:", e);
}
- 检查manifest.json中是否配置了clipboard权限:
"app-plus": {
"distribute": {
"ios": {
"permissions": ["clipboard"]
}
}
}