业务需求:当页面表单没有提交直接返回时,要提示用户是否保存当前信息,如果已经提交就不提示了。
由于微信小程序是无法监听右上角按钮返回事件。
所以就换个思路
小程序提供了如下两个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)}})}