1***@qq.com
1***@qq.com
  • 发布:2025-09-10 12:33
  • 更新:2025-09-10 14:19
  • 阅读:53

【报Bug】4.76版本 vue3 组合式API 在支付宝/钉钉小程序端 获取不到组件实例 showModal报错

分类:HBuilderX

产品分类: HbuilderX

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 4.76

第三方开发者工具版本号: 3.9.41

基础库版本号: 1.25.10

项目创建方式: HBuilderX

示例代码:

<template>
<view>
<uv-picker ref="picker" :columns="columns" />
<button @click="openPicker">打开</button>
</view>
</template>
<script setup>

import {  
    ref  
} from 'vue'  

const columns = ref([['中国', '美国', '日本']])  
const picker = ref()  

const openPicker = () => {  
    picker.value.open()  
}  

</script>

操作步骤:

运行到支付宝小程序开发工具
点击“打开”按钮

预期结果:

弹出picker

实际结果:

报picker.value是空

bug描述:

获取不到组件实例,代码在代码示例。注:uv-picker是uv-ui框架里的组件,可在插件市场搜索导入。

还有uni.showModal报错,就随便写个标准的uni.showModal,报错信息:showModal:fail 当前端不支持此API:device.notification.extendModal。

在HBuilderX4.76版本,以上两个BUG在微信小程序不出现,只在支付宝端复现。
HBuilderX切换到4.45版本后,BUG不再出现。

2025-09-10 12:33 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

manifest.json mp-alipay 节点下加配置,试试能不能解决 ref 失效的问题

"compileOptions": {  
     "component2": true  
 }
  • 1***@qq.com (作者)

    赞,有效!

    2025-09-10 16:30

DCloud_UNI_JBB

DCloud_UNI_JBB

showModal 你是怎么写的,试试原生那样写有没有报错

  • 1***@qq.com (作者)

    就是一个最基础的showModal

    uni.showModal({

    title: '温馨提示',

    content: '您暂无教师管理权限',

    showCancel: false

    })

    报错信息:{errMsg: 'showModal:fail 当前端不支持此API:device.notification.extendModal'}

    2025-09-10 16:23

  • DCloud_UNI_JBB

    回复 1***@qq.com: 测试一下原生小程序是否有这个问题

    2025-09-10 16:28

  • 1***@qq.com (作者)

    回复 DCloud_UNI_JBB: 用原生写了下,确实也会报错。然后看了下vendor.js的showModal源码,老版本底层是用confirm和alert的结合体,新版本是直接用的showModal。根源问题还是在钉钉端的showModal,可能是基础库的问题,不过HBuilderX的问题算是解决,非常感谢大佬~

    2025-09-10 16:43

  • DCloud_UNI_JBB

    回复 1***@qq.com: 可以在钉钉社区翻一下,看看有没有人反馈这个问题

    2025-09-10 16:46

  • 1***@qq.com (作者)

    回复 DCloud_UNI_JBB: 看了下钉钉文档

    https://open.dingtalk.com/document/isvapp/jsapi-show-modal

    他的showModal跟一般的不一样,加了个cells参数,文档写着非必填,但是真机调试不填会报错。title和content必须写在cells的数组里,还有个image参数,不填就是张灰色默认图片,意思就是说他这个modal是必会展示图片,不是传统的modal,然后跟cells同级的title和content是没用的无效参数。。。钉钉这文档写的真跟shit一样。

    2025-09-10 17:03

要回复问题请先登录注册