在微信小程序中操作执行成功后回到上一页,并进行刷新
可以使用 wx.navigateBack
的 success
回调函数来实现页面刷新的效果。具体来说,在 wx.navigateBack
的 success
回调函数中,可以调用上一页的 onLoad
函数来重新加载页面。可以按照以下步骤进行修改:
-
在返回上一页之前,将需要刷新的页面的页面栈编号(即 delta)保存到一个变量中,比如:
var pages = getCurrentPages(); var prevPage = pages[pages.length - 2]; // 获取上一个页面实例对象 var delta = pages.length - prevPage.index - 1; // 计算需要返回的页面数
-
在
wx.navigateBack
的success
回调函数中,使用wx.navigateBack
的delta
参数返回上一页,并调用上一页的onLoad
函数刷新页面,比如:wx.navigateBack({ delta: delta, success: function () { prevPage.onLoad(); // 执行上一页的onLoad函数 } })
将以上代码添加到当前代码的 wx.navigateBack
的 success
回调函数中即可。完整的代码如下所示:
saveNote: function() {
var that = this;
const app = getApp();
const nickName = app.globalData.userInfo.nickName;
console.log("昵称"+nickName)
wx.showLoading({
title: '正在保存',
})
wx.request({
url: 'http://localhost:8080/miniwechat/note/addNote',
method: 'POST',
data: {
title: that.data.noteTitle,
content: that.data.noteContent,
topicId:that.data.topicId,
nickName:nickName
},
success: function(res) {
wx.hideLoading();
if (res.data.code == 1) {
wx.showToast({
title: '保存成功'
})
var pages = getCurrentPages();
var prevPage = pages[pages.length - 2]; // 获取上一个页面实例对象
var delta = pages.length - prevPage.index - 1; // 计算需要返回的页面数
wx.navigateBack({
delta: delta,
success: function () {
prevPage.onLoad(); // 执行上一页的onLoad函数
}
})
} else {
wx.showToast({
title: '保存失败',
icon: 'none'
})
}
},
fail: function() {
wx.hideLoading();
wx.showToast({
title: '保存失败',
icon: 'none'
})
}
})
}