uniapp 返回上一页 刷新数据

2种情况,

第一种是按钮等事件手动返回上一页,采用事件通知:

子页面:

        uni.$emit('refreshIfNeeded', true)
        uni.navigateBack({
          delta: 1,
        })

上一个页面

onShow(() => {
  console.log('onShow')
  // 获取传值
  uni.$on('refreshIfNeeded', function (dat) {
    console.log('监听到事件来自 refreshIfNeeded ,携带参数为:' + dat)
    if (dat) {
      console.log('onShow:refreshPage')
      page.value = 1
      finishedText.value = ''
      dataList.value = []
      loadMoreDataList(true)
    }
    uni.$off('refreshIfNeeded')
  })
})

第二种情况,左上角返回按钮

onUnload(() => {
// true false 自己决定。
  uni.$emit('refreshIfNeeded', false)
})

修复第一种方式bug。建议 第一种和第二种结合

const refreshIfNeeded = ref(false)


// 自定义 事件 前 修改 状态。
        refreshIfNeeded.value = true


// 返回触发事件:

onUnload(() => {
  uni.$emit('refreshIfNeeded', refreshIfNeeded.value)
})


你可能感兴趣的:(uni-app,javascript,前端)