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

场景:
表单页有很多项需要填写,个别项数据较多,需要跳转到新的页面去选择后,带着结果返回。如图。
此时,想要返回时,已经填写过的内容保留不变,不被清空。在这里插入图片描述
解决:
在下一页去获取上一页data中的数据,并修改,再通过wx.navigateBack({ delta: 1, })返回上一页,页面不会刷新,且所有数据都在。

代码:
表单页

<view class="form-item" wx:if="{{isFresh==1}}">
  <view class="title">载具</view>
  <view class="content" bindtap="bindSelectBasket">
    {{baseInfo.basketGoodsName ? baseInfo.basketGoodsName : '请选择'}}
    <view class="">
     <image class="pop-image" src="https://retail.benlai.com/fortune/images/bmw/downArrow.png"></image>
    </view>
  </view>
 </view>
bindSelectBasket() {
      wx.navigateTo({
        url: '/page/newProductDeclaration/selectBasket/selectBasket?regionCode=' + this.data.baseInfo.regionCode
      });
},

子页面

 <view class="vendor-container">
   <view class="vendor-item {{!item.goodsSelect ? 'theme-grey' : ''}}" wx:for="{{vendorList}}" wx:for-index="index"
         wx:for-item="item" data-basketGoodsNo="{{item.goodsNo}}" data-basketGoodsName="{{item.goodsName}}" wx:key="index" data-item="{{item}}" bindtap="vendorItemClick">
     <view class="title">
       <view>{{item.goodsName}}</view>
     </view>
     <view class="sub-title">
       <view>规格:{{item.spec}}</view>
     </view>
     <view class="sub-title">
      <view>编号:{{item.goodsNo}}</view>
     </view>
   </view>
 </view>
vendorItemClick(e) {
    var pages = getCurrentPages();
    // var currPage = pages[pages.length - 1]; //当前页面
    var prevPage = pages[pages.length - 2];
    prevPage.setData({
      "baseInfo.basketGoodsName": e.currentTarget.dataset.basketgoodsname,
      "baseInfo.basketGoodsNo": e.currentTarget.dataset.basketgoodsno
    })
    wx.navigateBack({
      delta: 1,
    })
  },

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值