关于自定义TabBar切换时闪烁问题,无意间发现的解决方案,不确定是否正确?
在照搬自定义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 回复