收藏
评论

自定义tabbar切换时会闪烁

预估支持的基础库版本 预估支持的客户端版本 平台 预估发布版本
- - - -
  1. 减少不必要的 setData 可以消除 data 变化导致的闪烁现象
  2. 使用普通 image 代替 cover-image 、普通 view 代替 cover-view 可以减弱由于 cover 组件创建偏慢导致的闪烁现象(但要注意组件层叠层级) 但 android 本身的的渲染延迟仍然会导致一部分闪烁现象
最后一次编辑于  2023-05-11
关注Issue发表评论
赞 41

126 个评论

  • 我
    2023-03-10

    自己写一个,完美解决

    2023-03-10
    赞同
    回复
  • 冯伟
    冯伟
    2022-11-08

    什么时候能解决,恳请官方给个大概的时间

    2022-11-08
    赞同
    回复
  • 错过·错
    错过·错
    2022-10-20

    这个问题微信团队是遗忘了吧

    2022-10-20
    赞同
    回复
  • 7
    7
    2022-10-08

    2022-10-08 还是没解决

    2022-10-08
    赞同
    回复
  • 2022-10-06

    什么鬼啊,就想在tabbar中增加一个未读消息,结果这个狗屎一样的闪烁问题无法解决

    2022-10-06
    赞同
    回复
  • 氷氷
    氷氷
    2022-09-27

    2022-9-27

    2022-09-27
    赞同
    回复
  • Mr.Dou
    Mr.Dou
    2022-09-11

    通过将所有的list和action放到store内,且在onchange函数内重定向至store内的一个函数中,并在此函数中使用wx.switchtab解决了

    ./store/store.js

    2022-09-11
    赞同
    回复
  • 👑广濑隆一👑
    👑广濑隆一👑
    2022-09-08

    这个自定义tabbar我看文档的意思 应该是给单页面使用的。

    他在文档里有这么一句话:每个 tab 页下的自定义 tabBar 组件实例是不同的,可通过自定义组件下的 getTabBar 接口,获取当前页面的自定义 tabBar 组件实例

    所以,在切换tabbar时 特别是首次打开一个tabbarPage,相当于是创建一个新的tabbar,就避免不了闪烁。同理,如果是改变,比如给tabbar增加一个按钮,那也只给当前的页面实例修改,所以在切换tabbar,前一个page还是老的tabbar实例,就会出现闪烁或者抖动的情况。

    如果想后续点击不闪的话,我倒是有个办法,就是在改变某个tabbar页面布局时用eventBUS去通知所有的tabbar页面刷新一下tabbar。

    eventBus:https://blog.csdn.net/z564359805/article/details/118442507

    2022-09-08
    赞同
    回复
  • 2022-08-25

    都2022年8月25日了,还在闪~~~我真服了,没人维护就关掉吧

    2022-08-25
    赞同
    回复
  • 旧友
    旧友
    2022-08-17

    自定义组件 可以在引用的页面 把index传值给tabBer。

    页面闪烁是因为,自定义tabBer是在页面引入的,他首先会加载页面,所以你在引入的那里把index传给tabBer组件,就不会有闪烁的问题啦

    2022-08-17
    赞同
    回复 1
    • null
      null
      2022-11-01
      什么意思
      2022-11-01
      回复

正在加载...

登录 后发表内容