目录

微信小程序提交数据后返回上一页并且刷新数据实现

微信小程序提交数据后返回上一页并且刷新数据实现

一、初始方案

一开始使用的 wx.redirectTo 来实现,该方式可以实现刷新页面,而且不会造成页面刷一下闪的效果,用户体验还不错(wx.reLaunch 会造成页面闪一下的效果,体验不友好),但是使用 wx.redirectTo 方式会造成返回当前页面并刷新后点击返回上一页会回到没刷新的当前页面,业务场景上可能会出现这种情况,具体根据业务试验调整。

二、最终方案

当第一种方案不满足后开始研究第二种方案,使用 wx.navigateBack 返回上一步,该方法有回调方法,可以在回调方法中调用 onLoad 方法进行刷新页面,示例如下:

wx.navigateBack({
  delta: 1,
  success: function (e) {
    var page = getCurrentPages().pop();
    if (page == undefined || page == null) return;
    page.onLoad(); // 刷新数据
  }
});