真的是厉害,我找了好久,终于找到你了
关于自定义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 的值,导致了闪烁,各位可以参考一下。
2020-01-19