关于自定义TabBar切换时闪烁问题,无意间发现的解决方案,不确定是否正确?
发布于 6 年前 作者 gangma 5937 次浏览 来自 官方Issues

在照搬自定义TabBar的示例代码(只有2个tab)后,修改为三个及以上的tab时,除了切换涉及的2个tab外,其他的tab也会闪烁一下

示例代码中的切换tab函数如下:

methods: {
   switchTab(e) {
     const data = e.currentTarget.dataset
     const url = data.path
     wx.switchTab({url})
     this.setData({
       selected: data.index
     })
   }
 }

当修改switchTab函数如下

methods: {
   switchTab(e) {
     const data = e.currentTarget.dataset
     const url = data.path
     wx.switchTab({url})   //可能是改变样式的原因
   }
 }

即删除setData后,发现切换功能依然完整(样式和路由变化正确),且不涉及当前切换的tab也不会闪烁了;按照正常逻辑应该是路由变化,样式不变的,但后来琢磨一下,觉得是 wx.switchTab({url})影响了selected ,但原理不太清楚,怀疑这2行都修改selected  的值,导致了闪烁,各位可以参考一下。

4 回复

闪烁的问题解决了,不过我的还会抖动和白屏,谢谢大佬

真的是厉害,我找了好久,终于找到你了

大佬 我刚好也遇到了这个问题  谢谢你 我也解决了

回到顶部