uni.switchTab跳转tabbar卡住

点击tabbar几次后就开始,点击无法跳转,页面卡死,路径正确,无报错,这怎么解决

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7586491
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:uni-app中switchTab回到主页面(tabBar页面)
  • 除此之外, 这篇博客: uni-app 上架应用商店 坑坑坑 使用switchTab时 tabbar按钮跟tabbar页面不对应问题解决以及返回按钮监听的坑中的 实现思路: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 对Btabbar进行点击事件的监听:跳转登录页面,在登录页面中进行返回事件监听,发送通知又或者直接跳转到指定页面。

  • 以下回答由chatgpt基于相关博客总结生成:

    根据问题描述,可以尝试以下方案进行优化:

    1. 检查代码中是否存在写在switchTab方法后面但实际未执行的代码,若存在可以将这些代码移除;

    2. 在跳转之前进行页面加载和数据请求等操作,避免在跳转时出现卡顿现象;

    3. 应避免频繁调用switchTab方法,只在真正需要跳转时触发,可以通过添加防抖或节流的机制来实现;

    4. 若以上方案无效,可以考虑使用uni.navigateTo方法代替switchTab,这样可以避免关闭其他页面的操作,但需要注意导航栏的显示问题。

    示例代码:

    // 防抖函数
    function debounce(func, delay) {
      let timer;
      return function() {
        const args = arguments;
        const context = this;
        clearTimeout(timer);
        timer = setTimeout(function() {
          func.apply(context, args);
        }, delay);
      };
    }
    
    // 点击跳转事件
    onTabItemTap: debounce(function() {
      if (!this.islogin) {
        uni.navigateTo({
          url: '../login/login'
        });
      } else {
        uni.switchTab({
          url: '../tabbar/home'
        });
      }
    }, 500)