微信小程序 ,返回列表页,局部刷新

不负好时光
  • 4
新手上路,请多包涵

微信截图_20191211134155.png

请教一个问题。微信小程序,从详情页进入列表页,怎么局部刷新?

订单列表页,头部是tab切换,可以下拉翻页。
每条数据都有不同行为的按钮操作。
比如:
待支付的订单,按钮(取消订单,去支付)
已完成的订单,按钮(去评论/查看评论,再次预订,删除订单)

假如:
我此刻点击 “待支付”选项下》第2页的》第5条数据,进入详情页(详情页的按钮和它的列表页按钮一致)》点击了“去支付”按钮

返回列表页,想要仍然在“待支付”选项下,第二页的第5条数据的位置上,但是这条数据已经移除了,因为该条数据已经是“已支付”状态了

或者说,我在列表页“全部”选项下,下拉到第3页,第5条,点击了一条“已完成”的订单,点击“去评论”,然后进入“评论页”》“提交”,返回列表页,仍然在“全部”选项下的,第3页,第5条的位置上,该数据已变为“已评论”的状态,按钮从“去评论”变更为“查看评论”

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
因为“下单”,“删除订单”,“去评论”,“去支付”,好多操作都会影响订单列表,为了每次都能得到最新的状态,所以我现在订单列表页用了onshow方法,导致每次列表页,都重新请求第1页数据,并且手动scrollTop=0。这样就导致我无法还原进入详情页之前的位置。有没有局部刷新的方法啊?既能更新某一条的数据,又能保存当前page和当前scrolltop位置。

回复
阅读 2.2k
1 个回答

用小程序的API EventChannel来做事件监听,在详情页操作后通知列表页刷新该条数据。
或者采用状态管理的方案,通过共享数据源来实现数据更新。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏