记一次微信小程序tabbar异常

43 阅读1分钟

问题描述

如图所示,点击tab上的标签和页面不统一。

动画.gif

可能的原因

所有页面共用一个tabbar?

验证猜想

wx.switchTab({
        url: this.data.list[event.detail.value].url.startsWith('/')
          ? this.data.list[event.detail.value].url
          : `/${this.data.list[event.detail.value].url}`,
        success: function (e) {
          var page = getCurrentPages().pop();
          // 获取当前页面的tabbar实例
          console.log(page.getTabBar());
        },
      });

结论

不同的页面使用的tabbar是不同的,不清楚内部渲染机制。

解决方法

在切换页面成功后,强制将tabbar-active改成当前的

  1. tabbar是否在页面进入的时候进行重新渲染?导致active的item初始化?

验证猜想