uniapp 关于定时返回和原生导航返回按钮(个人思路笔记)
需求:信息页面点击进入新增页面,新增成功进入成功提示页面,未点击返回按钮,5秒后自动跳转至信息页面,点击按钮返回至信息页面
思路:主要关于页面的跳转问题(页面生命周期) uniapp 页面生命周期
1、新增成功后重定向至成功提示页面(关闭当前页面,打开新的页面,使用uni.redirectTo)
2、新增页面已卸载,当前只剩信息页面和成功提示页面,使用uni.navigateBack({delta: 1}) (返回上一个页面,使用定时器)
3、原生按钮返回时监听页面卸载(原生按钮返回只能返回上一页面,使用onUnload:(){}),并清除定时器
onLoad: function(option) {
if (option.success) {
this.toBack()
}
},
onUnload:function(){
uni.$emit('successBack', '返回了')
clearTimeout(this.timer)
},
// method
toBack(){
this.timer = setTimeout(() => {
uni.$emit('successBack', '返回了') //全局事件
uni.navigateBack({
delta: 1
})
}, 5000)
}