業務需求:當頁面表單沒有提交直接返回時,要提示用戶是否保存當前信息,如果已經提交就不提示了。
由于微信小程序是無法監聽右上角按鈕返回事件。
所以就換個思路
小程序提供了如下兩個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)}})}