1.使用页面事件onBackPress事件监听返回键
onBackPress(e) { //e.from === 'backbutton' 说明如果点击的是物理返回键或导航栏的返回键就进行以下操作 if (e.from === 'backbutton') { if (遮罩层是否隐藏) { //如果没隐藏 //这里写让遮罩层隐藏的代码 } else { //如果隐藏了 //这里就写返回上一页 uni.navigateBack() } //return true //返回值为true 时,表示不执行默认的返回(默认返回上一页),执行自定义的返回 //如果要限制必须写成true return true; } },
2.大坑 监听不到返回
常规后退操作同Android,但是IOS还有个侧滑这个大坑,不会触发onBackPress,
再次确认了侧滑不触发onBackPress后。
3.1.解决大坑的方案1
禁用侧滑
{ "path": "pages/xxx/xxx", "style": { ... "app-plus": { "popGesture": "none", // 禁用侧滑 "bounce": "none" // 禁用上下拖动页面 } } },
3.2.解决大坑的方案2
逻辑思路:就是在他要返回的上一级页面进行操作,笨方法但是有效
onShow() {},//监听页面首次进入 // //监听页面离开的话,下面两个必须同时使用,因为离开页面会有两种情况 onHide() {},//监听离开页面 onUnload() {},//监听页面销毁 /