业务需求:当页面表单没有提交直接返回时,要提示用户是否保存当前信息,如果已经提交就不提示了。
由于微信小程序是无法监听右上角按钮返回事件。
所以就换个思路
小程序提供了如下两个Api
wx.enableAlertBeforeUnload(Object object):开启小程序页面返回询问对话框
wx.disableAlertBeforeUnload:关闭小程序页面返回询问对话框
实现方法如下:
onLoad: function (options) {
this.enableFun()
},
enableFun() {
wx.enableAlertBeforeUnload({
message: '离开当前页面数据将会被清空',
success(res) {
console.log('success:', res)
},
fail(res) {
console.log('fail:', res)
},
complete(res) {
console.log('complete:', res)
}
})
}
如果在某种情况下(如已经提交了数据),不需要弹出提示框
onSubmit(){
this.disableFun()
},
// 关闭小程序页面返回询问对话框
disableFun() {
wx.disableAlertBeforeUnload({
success(res) {
console.log('success:', res)
},
fail(res) {
console.log('fail:', res)
},
complete(res) {
console.log('complete:', res)
}
})
}