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确实可能出现兼容性问题。根据你的错误信息,建议检查以下几点:

  1. 确保在调用API前已正确获取用户授权(iOS13+需要用户交互触发)
  2. 尝试改用Promise语法:
try {
  await uni.setClipboardData({
    data: "测试",
    showToast: true
  });
  app.globalData.showToast("复制成功", "success");
} catch (e) {
  console.error("复制失败:", e);
}
  1. 检查manifest.json中是否配置了clipboard权限:
"app-plus": {
  "distribute": {
    "ios": {
      "permissions": ["clipboard"]
    }
  }
}
回到顶部