微信小程序用户提交信息成功后,点击左上角返回仍然可以看到历史填的数据,如何让用户点击返回上一页面看不到之前的数据

小程序虽然是一个页面跳一个页面,但不是只有wx.navigateTo这种,wx.navigateTo是有左上角返回的按钮的,用户点击可以返回上一页,如果表单数据也用wx.navigateTo跳转的话,到了提交成功页面,点击左上角返回,会跳转上以页面提交的信息那里,用户提交成功后是不能返回后看到这个信息
在这里插入图片描述

使用wx.redirectTo(关闭当前页面,跳转到应用内的某个页面)可以解决上述该问题

一定要看清楚具体哪个页面跳转哪里,我之前页面写过wx.redirectTo,但是点击返回还是出现历史填过的信息,后来我把它放在点击提交信息的js函数里(数据发送成功,跳转成功页面)

附加知识点:

微信提供5种跳转方式

1、wx.navigateTo//保留当前页面,跳转到应用内的某个页面
2、wx.redirectTo //关闭当前页面,跳转到应用内的某个页面。
3、wx.switchTab //跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
4、wx.navigateBack //关闭当前页面,返回上一页面或多级页面。
5、wx.reLaunch //关闭所有页面,打开到应用内的某个页面。

在做返回的功能时,注意navigateBack不会调用onload方法。可以把onload换成onShow方法,每次加载页面时会自动调用onShow方法

//解决方法 :用navigateBack跳转不用考虑页面传参问题,直接setData就好
var pages = getCurrentPages();    //获取当前页面
var prePage = pages[pages.length - 2];      //获取上一页面
prePage.setData({
    
    
     'search.page': 1     //给上一页面的变量赋值
})
prePage.getPageData();    //调用上一页面的方法(加载数据)
wx.navigateBack({
    
         //返回上一页面
      delta: 1,
})

猜你喜欢

转载自blog.csdn.net/qq_45432996/article/details/109157718