微信小程序 表单 选择跳转新页面 返回页面保留原页面已填写的值

本文介绍了一种改进的页面间数据传递方法,避免了全局数据和storage储存的缺陷,利用getCurrentPages()获取页面栈,通过setData将数据保存并带回上一页,最后使用wx.navigateBack实现返回。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这种应用场景很多地方用到,比如填写表单,需要到新页面选择后返回原页面。

目前常用的方法有,

  • 1、使用全局数据 app.globalData.mydata  =  xxx
  • 2、使用 storage 储存

这里不建议使用这两种方法 ,因为 它们都涉及到销毁和管理的缺陷,,

 

新方法:

推荐使用官方 API:关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。

 

wxml 页面

在点击按钮后返回上一个页面 , bindtap 一个  toListLink

 

js页面

重点:

第80行 到 96行:  分别解释一下

 

一、调用官方getCurrentPages()

var pages = getCurrentPages();

var currPage = pages[pages.length - 1]; //当前页面

var prevPage = pages[pages.length - 2];

二、用setData 把当前页面选好的值 保存起来 ,然后 带到上一个页面

prevPage.setData({

searchType:0,

storesName: thisText,

storesNum: thisIndex

})

注意:下面这3行是 平时跳转页面传值的方法 ,这里不用了 ,用 wx.navigateBack 来返回上一级页面

// wx.redirectTo({

// url: '../recruit/resume?searchType=' + 0 + '&storesName=' + thisText + '&storesNum=' + thisIndex

// });

三、用 wx.navigateBack 方法来返回上一页面

wx.navigateBack({

delta: 1,

})

 

 

官方文档例子如下

相信大家可以看懂

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值