uni-app vue3 midbutton 无法响应点击事件
uni-app vue3 midbutton 无法响应点击事件
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC开发环境版本 | windows11 bate |
| HBuilderX类型 | Alpha |
| HBuilderX版本 | 3.2.14 |
| 手机系统 | Android |
| 手机系统版本 | Android 12 |
| 手机厂商 | 小米 |
| 手机机型 | K30 |
| 页面类型 | vue |
| vue版本 | vue3 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
"midButton": {
"width":"300px",
// "iconPath": "static/tabbar/Add.png",
"text":"呜呜呜",
"height": "300px"
// "iconWidth": "128px"
}
// App.vue
<script setup>
import {
onLaunch,
onShow
} from "@dcloudio/uni-app"
onLaunch(() => {
uni.onTabBarMidButtonTap(() => {
console.log("被点击了")
})
})
</script>
操作步骤:
- 创建vue3 uniapp项目
- 正常添加midbutton
- 在App.vue中使用uni.onTabBarMidButtonTap填入回调
预期结果:
- 正常响应点击事件
实际结果:
- 无法响应点击事件
bug描述:
onLaunch内配置了uni.onTabBarMidButtonTap 点击无法响应回调
App.vue使用了 vue3 setup写法不响应点击事件
切换为 vue2 写法依旧不响应点击事件
但是两种写法onLaunch都正确的触发了
相关链接:
更多关于uni-app vue3 midbutton 无法响应点击事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
问题已记录,后续优化,已加分,感谢您的反馈!
更多关于uni-app vue3 midbutton 无法响应点击事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 uni-app vue3 项目中,midButton 点击事件无法响应通常是由于事件监听时机或配置问题导致的。根据你提供的代码和配置,以下是可能的原因和解决方案:
-
事件监听时机问题:
uni.onTabBarMidButtonTap需要在页面初始化完成后注册。在onLaunch中注册可能过早,建议在onShow或页面生命周期中注册。尝试将事件监听移到onShow中:onShow(() => { uni.onTabBarMidButtonTap(() => { console.log("被点击了") }) }) -
midButton 配置检查:确保
midButton配置在pages.json的tabBar中正确设置,且路径和样式无误。示例:"tabBar": { "midButton": { "width": "300px", "text": "呜呜呜", "height": "300px" } } -
Vue3 响应式问题:在 Vue3 的
setup中,确保事件监听函数被正确绑定。可以尝试使用onMounted或nextTick延迟注册:import { onMounted } from 'vue' onMounted(() => { uni.onTabBarMidButtonTap(() => { console.log("被点击了") }) })


