uni-app uni.onTabBarMidButtonTap 有bug

uni-app uni.onTabBarMidButtonTap 有bug

开发环境 版本号 项目创建方式
uniapp/App - HBuilderX

产品分类:uniapp/App
PC开发环境操作系统:Mac
PC开发环境操作系统版本号:15.2
HBuilderX类型:正式
HBuilderX版本号:4.66
手机系统:Android
手机系统版本号:Android 15
手机厂商:小米
手机机型:红米note14
页面类型:vue
vue版本:vue2
打包方式:离线


示例代码:

uni.onTabBarMidButtonTap(() => {
    plus.nativeUI.toast('middle')
    uni.navigateTo({
        url: '/pages/tab/ai/ai'
    });
});

更多关于uni-app uni.onTabBarMidButtonTap 有bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

是更新之后才出现的吗?之前这个存在这个问题吗?

更多关于uni-app uni.onTabBarMidButtonTap 有bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html


之前没试过

你们可以用下最新的4.66离线androidSDK打包试下

根据你提供的信息,uni.onTabBarMidButtonTap 在 Android 设备上可能存在兼容性问题,特别是在较新的 Android 15 系统和小米机型上。以下是几个关键点:

  1. 事件触发时机uni.onTabBarMidButtonTap 在某些 Android 版本中可能因系统事件拦截或异步延迟导致回调未及时执行。可以尝试在 onLoadonShow 生命周期中注册该事件,确保绑定时机正确。

  2. 页面跳转冲突:在事件回调中同时执行 plus.nativeUI.toastuni.navigateTo 可能导致跳转被阻塞。Android 系统对连续 UI 操作(如 toast 和页面跳转)可能有限制,建议通过 setTimeout 延迟跳转:

    uni.onTabBarMidButtonTap(() => {
      plus.nativeUI.toast('middle');
      setTimeout(() => {
        uni.navigateTo({ url: '/pages/tab/ai/ai' });
      }, 100);
    });
回到顶部