在微信小程序中操作执行成功后回到上一页,并进行刷新

Posted kobedu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在微信小程序中操作执行成功后回到上一页,并进行刷新相关的知识,希望对你有一定的参考价值。

可以使用 wx.navigateBacksuccess 回调函数来实现页面刷新的效果。具体来说,在 wx.navigateBacksuccess 回调函数中,可以调用上一页的 onLoad 函数来重新加载页面。可以按照以下步骤进行修改:

  1. 在返回上一页之前,将需要刷新的页面的页面栈编号(即 delta)保存到一个变量中,比如:

    var pages = getCurrentPages();
    var prevPage = pages[pages.length - 2]; // 获取上一个页面实例对象
    var delta = pages.length - prevPage.index - 1; // 计算需要返回的页面数
    
  2. wx.navigateBacksuccess 回调函数中,使用 wx.navigateBackdelta 参数返回上一页,并调用上一页的 onLoad 函数刷新页面,比如:

    wx.navigateBack(
      delta: delta,
      success: function () 
        prevPage.onLoad(); // 执行上一页的onLoad函数
      
    )
    

将以上代码添加到当前代码的 wx.navigateBacksuccess 回调函数中即可。完整的代码如下所示:

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\'
      )
    
  )

微信小程序 延时执行 延时跳转

在微信小程序开发中,经常会遇到这样的需求:当用户操作后,我们需要先提醒用户操作成功,然后再进行页面跳转,这时候我们就需要用到setTimeout()来实现。

success(res)
        wx.showToast(
          title: '修改成功',
          icon:'success',
          duration:1500
        )
        
        setTimeout(
          function() //注意function这里不能缺少
            wx.navigateBack(
              delta: 1,
            )
          ,1500)
      
      

以上是关于在微信小程序中操作执行成功后回到上一页,并进行刷新的主要内容,如果未能解决你的问题,请参考以下文章

总结一下,微信小程序的几种跳转方式

微信小程序 延时执行 延时跳转

微信小程序 延时执行 延时跳转

微信小程序 延时执行 延时跳转

uni-app 小程序返回上一页并刷新数据的方法

微信打开小程序后如何回到聊天界面?