在详细信息展示页面B,用户可以修改信息。当用户未主动保存数据但点击了返回,利用onUnload事件提示用户是否保存数据。在用户保存数据后刷新主页面A(详细信息展示页面的前一页面)。
A页面点击某一项跳转到B页面,B页面返回时提示保存并刷新。
B页面onUnload事件如下:
onUnload: function () {
var _this=this;//必须代码;
if(_this.data.isedit){
wx.showModal({
title: '提示',
content: '是否保存修改信息?',
success: function(res) {
if (res.confirm) {
_this.saveschdule();
var pages =getCurrentPages();//当前页面栈
if (pages.length >0) {
var beforePage = pages[pages.length- 1];//获取上一个页面实例对象
beforePage.reloadData();//触发父页面中的方法 }
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
};
},
A页面添加reloadData()方法来重新加载数据并刷新页面。具体代码根据业务需求而定。
待解决问题:是否可以实现B页面返回时,加一确认弹窗,提示用户是否保存并退出 或者留在当前页面。即阻止B页面返回A页面。
如有解决方法,欢迎共享!