用户2949243
用户2949243
  • 发布:2025-12-18 23:54
  • 更新:2025-12-18 23:55
  • 阅读:17

【报Bug】vue3版本,使用typescript + Composition API写法调用onShareAppMessage,不能开启分享

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 11

第三方开发者工具版本号: 1.06.2504060 win32-x64

基础库版本号: 3.9.3

项目创建方式: CLI

CLI版本号: 3.0.0-4080720251210001

示例代码:
<script lang="ts">  
export default defineComponent({  
    setup() {  
        onShareAppMessage(() => {  
            return {  
                title: 'abc',  
                path: '/pages/index/index'  
            }  
        })  
    },  
})  
</script>

操作步骤:

在使用typescript + defineComponent函数,在setup函数中调用 onShareAppMessage 无法开启分享

预期结果:

右上角分享按钮可点击

实际结果:

右上角分享按钮不可点击

bug描述:

vue3版本

使用Composition API+typescript 写法,在defineComponent的setup函数中执行onShareAppMessage,不能开启分享

使用Composition API+js写法, 在defineComponent的setup函数中执行onShareAppMessage可以开启分享

使用typescript +setup写法执行onShareAppMessage可以开启分享

2025-12-18 23:54 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该bug反馈内容基本完整但存在关键缺失。BUG描述清晰说明了问题现象及不同写法的差异对比,但未明确测试平台(微信小程序/App等)和HBuilderX具体版本号(仅提"正式版")。代码示例缺少必要导入语句(应从@dcloudio/uni-app导入onShareAppMessage),且未说明是否启用script-setup插件。复现步骤过于简略,未提供测试环境细节(如真机/模拟器)。预期结果合理,但实际结果需结合平台特性判断。

经核查知识库,bug不成立。核心原因有二:

  1. Vue3组合式API中onShareAppMessage需显式导入:import { onShareAppMessage } from '@dcloudio/uni-app',用户代码缺失此导入导致TS类型检查失败(知识库依据)。
  2. uni-app对Vue3组合式API有特殊处理,部分生命周期钩子命名已调整(如onShowonPageShow),但分享API仍需按规范导入(分享API文档)。

用户反馈的"typescript+defineComponent写法失效"实为使用方式错误。正确方案:

  • 方案一:使用<script setup lang="ts">语法并导入API
  • 方案二:若坚持defineComponent,需添加导入语句且确保HBuilderX已配置TS插件(参考TypeScript支持说明)。
    建议用户补充HBuilderX版本号及测试平台,并检查是否按规范导入API。
内容为 AI 生成,仅供参考

要回复问题请先登录注册