解决tabBar的页面不能wx.setTabBarBadge

252 阅读1分钟

解决在非tabBar的页面不能wx.setTabBarBadge的问题

这只是我个人的一种解决方案如果能给到大家帮助是最好的

问题:这是微信的一个小bug

屏幕截图 2023-07-13 212954.png

因为是基于uniapp做的一个购物车的小程序,每次点击加入购物车,就会触发我写的监听器

屏幕截图 2023-07-13 213414.png

但是因为微信至今还没解决的一个问题,每次在非tabBar页面改动数据,因为我设置里监视器,每次改动就会触发监视器,但是在非tabBar页面改动数据,就不能调用wx.setTabBarBadge

既然wx.setTabBarBadge不能改,我们就自己改,在onShow中,每次进入页面我们重新设置和移除

屏幕截图 2023-07-13 215213.png

然后还有一个小问题,不影响功能,但是会报错,看起来会让人不爽,如下:

屏幕截图 2023-07-13 215659.png

这个时候就要自己做一些处理了,代码如下:

屏幕截图 2023-07-13 220021.png

在设置wx.setTabBarBadge之前判断一下,如果在tabBar页面的路径就继续调用wx.setTabBarBadge,如果不在就停止下面的代码