uniapp阻止页面返回(在页面返回前做某些操作)

需求:在当前页面做盘点工作,未保存当前页面数据时退出该页面,需要弹窗提示用户使用保存后再关闭页面

该代码可拦截:点击导航栏返回、滑动返回、安卓物理返回键和调用 navigateBack 接口

效果图:

uniapp阻止页面返回(在页面返回前做某些操作)_第1张图片

官方文档:page-container | 微信开放文档

代码:写在你需要返回监听的同一个页面就行了

 注意:page-container组件直接使用 不用引入(是微信官方的页面容器)


			
		
data() {
		return {
		isShow: true,		
	};
},

直接调用 beforeleave方法进行操作(监听页面返回)

beforeleave() {
				this.isShow = false; //这个很重要,一定要先把弹框删除掉
				uni.showModal({
					confirmColor:'#bd3124',
					title: "您盘点的商品尚未保存,是否保存后再离开页面?",
					success: (e) => {
						if (e.confirm) {
							console.log('确认盘点接口');
							// 返回上一页
							uni.navigateBack({
								delta: 1
							})
						} else {
							uni.navigateBack({
								delta: 1
							})
						}
					}
				})
			},

你可能感兴趣的:(uni-app,前端,javascript,html,css)