Android
onBackPress() {
console.log('返回')
return true; // 阻止返回 不阻止就不写或者用uni.navigateBack({ delta: 1 })返回
}
IOS
常规后退操作同Android,但是IOS还有个侧滑这个大坑,不会触发onBackPress,
再次确认了侧滑不触发onBackPress后,我找了一圈文章后,留下了两个方案。
方案一:popGesture
一不做二不休,直接禁用侧滑,然后再选择以下两种方法之一(时间有限,没空再去想,有更好的方案欢迎评论)
a方法:在左上角(或页面某个合适的地方)留下一个返回按钮
b方法:场景合适的话可以通过touchstart和touchend来模拟侧滑事件(这个只是一个设想,并没有去实施)
popGesture具体配置(pages.json):
{
"path": "pages/xxx/xxx",
"style": {
...
"app-plus": {
"popGesture": "none", // 禁用侧滑
"bounce": "none" // 禁用上下拖动页面
}
}
},
方案二:onUnload
虽然监听不了侧滑,但是onUnload还是可以继续用的,既然如此,就让你继续侧滑退回去我直接 uni.$emit告诉上一页,这货退回去了,不过这个方案的最大问题就是 没办法阻止它返回上一页,只能在返回上一页之后做后续操作。
当前页面:
onUnload(){
uni.$emit('事件名', 参数);
},
上一级页面:
onShow() {
uni.$once('事件名', res => {
console.log('它返回了')
})
}
web端
_φ(❐_❐✧ 没排面 随便写