记一次wx.navigateBack回跳刷新在安卓遇到的bug

248 阅读1分钟

场景

在表单页保存后回退需要重置刷新详情页。

bug

在调试器和ios下可正常刷新,但在安卓却不执行。

wx.navigateBack({

      delta: 1,

      success(res) {

        const page = getCurrentPages().pop();

        console.log(getCurrentPages())

        page.onLoad();

      }

    })

原因及修复

wx.navigateBack的success回调在安卓环境时,getCurrentPages.pop()打印的是当前页面,并非回跳后的页面,知道原因后就好修改了

    let page = null;
    if (getCurrentPages().length > 1) {
      page = getCurrentPages()[getCurrentPages().length - 2]
    }
    wx.navigateBack({
      delta: 1,
      success(res) {
        page && page.onLoad();
      }
    })