问题描述
如图所示,点击tab上的标签和页面不统一。
可能的原因
所有页面共用一个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改成当前的
- tabbar是否在页面进入的时候进行重新渲染?导致active的item初始化?