问题描述
a页面里面已经写好的数据,然而在a页面的其他框点击跳转选着其他的数据,要跳转到b页面,在b页面选择后返回到a页面,a页面原先写好的数据不见了 。
一般小程序跳转就5种方法,除了wx.navigateBack() 其他的都用了,就是不行。
解决办法
使用wx.navigateBack()进行跳转返回
类似于这个效果图
let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。
let prevPage = pages[ pages.length - 2 ];
//prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面,-3是上上个页面以此类推。
prevPage.setData({ // 将我们想要传递的参数在这里直接setData。上个页面就会执行这里的操作。
id:e.currentTarget.dataset.id,//这里写的是你要选择在另一个页面跳转时展示的数据 进行传过去在跳转的时候
})
//上一个页面内执行setData操作,将我们想要的信息保存住。当我们返回去的时候,页面已经处理完毕。
//最后就是返回上一个页面。
wx.navigateBack({
delta: 1 // 返回上一级页面。
})
//此时页面数据已经改变为我们传递过来的数据。如果想要返回之后处理这些数据,那么要在onShow函数里执行,因为我们执行的是返回,所以不会触发onLoad函数,所以我们要在onShow里执行我们想要使用的函数。