微信小程序自定义tabbar遮挡弹窗bug处理

281 阅读1分钟

环境:taro,微信小程序

状况:tabbar采用自定义Tabbar在tabbar页面上调出弹窗,弹窗内容被自定义tabbar遮挡

处理方法:利用发布订阅控制tabbar显示隐藏

具体代码实现:

  1. global.js文件中暴露Events事件

     import Taro, { Events as TaroEvents } from '@tarojs/taro';
     //...
     const events = new TaroEvents()
     const Events = {
       emit(name, arg) {
         events.trigger(name, arg);
       },
     ​
       on(name, handler) {
         events.on(name, handler);
       },
     ​
       off(name, handler) {
         events.off(name, handler);
       },
     };
     ​
     Object.assign(global, {
       //...
       Events,
     })
    
  2. 自定义tabbar订阅

  3. 对应的弹窗显示时触发发布

    • 只需在useEffect中调用Events.emit触发即可

       Events.emit(boolean);