小程序navigateBack和返回上一页传参

626 阅读1分钟

有这样一个场景,用户在订单详情页面进行了操作或者其他的操作之后,点击左上角的返回到订单列表页面,这时候需要刷新列表的数据,这时候需要在回退的时候传参,在回退后的页面获取参数 

在onUnload(onHide也可以不用写,根据业务)生命周期写入,因为就返回一页而已,就没加wx.navigateBack({delta:1})

在这里插入图片描述

onUnload: function () {
    //返回上一页并传参
    const pages = getCurrentPages()
    const prevPage = pages[pages.length - 2]
    console.log(pages,prevPage)
    prevPage.setData({
      isBackFlag: 1
    })
  },

然后在退回的页面获取参数,需要在onShow生命周期获取

onShow: function () {
    let { userInfo } = app.globalData
    if(!userInfo){
      wx.showModal({
        showCancel:false,
        title:'温馨提示!',
        content:'登录后查看',
        success:(res) => {
          if(res.confirm){
            wx.redirectTo({
              url: '../login/login',
            })
          }
        }
      })
      return false
    }
    const pages = getCurrentPages()
    const currPage = pages[pages.length - 1]
    //获取上一页面传递过来的值
    console.log(currPage.__data__)
    this.setData({
      curTabLabel: !currPage.__data__.isBackFlag ? '充电订单': '商户订单',
      currentPage:1
    })
    //获取充电订单数据
    this.showOrderListByTabLabel(!currPage.__data__.isBackFlag ? 1 : 2,this.data.currentPage)
  },

在这里插入图片描述