微信小程序从某个分页面想跳转回tab页面使用以下代码

wx.switchTab({
      url: '../list/list',
      success: function(e) {
        let page = getCurrentPages().pop();
        if (page == undefined || page == null) return;
        page.onLoad();
      }
    })

switchTab成功跳转后调用success,此时可以拿到跳转后页面的page对象,从而调用页面onLoad方法重载页面,经过实际测试上面的代码在IOS以及部分安卓手机上是有效的,部分安卓手机跳转回tab页面的时候依旧不会执行onLoad()方法

当tab页第一次加载数据执行了onload后,第二次会直接读取缓存不会再去加载onLoad获取数据

但onShow()方法依旧会执行,可以在onShow方法根据实际需要来获取页面数据

onShow() {  
  this.onLoad();    
}

如果页面执行了一些复杂的操作,比如商品列表选中了一些数据,点击某个商品跳转到某个详情页面,但返回的时候页面的选中数据不改变,可以根据实际需要在onShow()方法里加上判断条件来执行onload()方法使页面数据刷新