【uniapp】uniapp返回上一页,并实现刷新界面数据

在uniapp中,经常会有返回上一页的情况,官方提供有 uni.navigateBack 这个api来实现效果,但是此方法返回到上一页之后页面并不会自动刷新(不会触发上一页的onLoad()方法)。

使用场景

从一个列表界面点击新增按钮,进入新增元素的界面,然后新增之后返回列表界面,并刷新列表界面。

效果实现

元素新增界面的代码:

javaScript 复制代码
if (res.code === 200) {
	const pages = getCurrentPages();
	const prevPage = pages[pages.length - 2]; // 上一个页面
	uni.$u.toast('操作成功');
	setTimeout(() => {
		uni.navigateBack({
			delta: 1,
			success: () => {
				prevPage.$vm.getList(); // 直接调用上个页面的刷新方法
			}
		});
	}, 1000);
} else {
	uni.$u.toast(res.msg);
}

列表界面的代码

javascript 复制代码
async onLoad() {
	await this.getList(); // 自定义的刷新函数
},

利用获取页面栈 getCurrentPages() 方法, 在使用uni.navigateBack()返回成功后调用 beforepage.$vm.需刷新方法 即可完成返回并刷新。

相关推荐
小桥风满袖15 小时前
极简三分钟ES6 - 数组遍历
前端·javascript
艾小码15 小时前
彻底搞懂 Vue 生命周期:从 created 到 unmounted 的完整指南
前端·javascript·vue.js
GHOME15 小时前
复习-网络协议
前端·网络协议·面试
秦清15 小时前
组态可视化软件【导入属性】
前端·javascript·后端
小桥风满袖15 小时前
极简三分钟ES6 - 函数的参数
前端·javascript
艾小码15 小时前
只会npm install?这5个隐藏技巧让你效率翻倍!
前端·npm·node.js
hwjfqr15 小时前
VSCode终端中文乱码问题解决
前端·后端
15 小时前
前端页面空白监控:从检测到溯源的全链路实战方案
前端
妮妮喔妮15 小时前
如何把HTML转化成桌面Electron
前端·javascript·electron
日月晨曦15 小时前
React 在线 playground 实现指南:让代码在浏览器里「原地爆炸」的黑科技
前端·react.js