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

场景:
表单页有很多项需要填写,个别项数据较多,需要跳转到新的页面去选择后,带着结果返回。如图。
此时,想要返回时,已经填写过的内容保留不变,不被清空。微信小程序 表单 选择跳转新页面,选择后,返回上一页面保留原页面已填写的值_第1张图片
解决:
在下一页去获取上一页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,
    })
  },

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

你可能感兴趣的:(小程序,微信小程序,小程序)