问题描述:此时有A,B,C三个页面,A页面跳转B页面带了一个参数id,B页面通过id请求数据,B页面使用uni.navigateTo跳转至C页面修改内容,修改完成后返回B页面则不会刷新B页面重新获取数据

onLoad 监听页面加载,可以接收一个上个页面跳转所携带的参数

uni.navigateTo 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面

解决办法如下

在B页面设置一个变量isOnShow为false,使用onHide生命周期,在进入C页面时将isOnShow设置为true,C页面修改完内容返回到B页面时使用onShow判断isOnShow为true请求最新数据

代码如下

import { onLoad, onHide, onShow } from '@dcloudio/uni-app'

onLoad((option) => {
	initData()
})

onShow(() => {
	if (isOnShow.value) initData()
})

onHide(() => {
	isOnShow.value = true
})
let isOnShow = ref(false)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐