做小程序开发的同学,肯定都踩过很多这样那样的坑,笔者如此一样。
在小程序当中,返回刷新页面是很常见的场景。总结了一下,主要分为两种情况。
第一种且称之为:静态数据接口类型,举例说明:
比如个人中页面,我们想要修改昵称,点击去修改会跳转到编辑昵称页面,我们在编辑昵称页面输入文本,点击提交后,会重新返回到个人中心页面,此时个人中心页面的昵称已经更新。这是我们常见的情况,想必大家都很熟悉如何处理,就是在onShow函数里面调用获取用户信息接口,当编辑昵称后返回当前页面,会重新请求接口并更新页面;
第二种且称之为:动态数据接口类型,举例说明:
列表页面点击进入详情页面,然后返回列表页面并更新状态。
假如列表的每项都有收藏状态,点击其中一条进入详情,在详情页面添加了收藏,返回后需要将当前项的收藏状态置为已收藏。如果还使用第一种方式在onShow里面展示,是不太合理的。因为但凡列表,一般都会涉及到翻页功能,此时如果在onShow里面重新请求数据,数据又会重新加载,而我们选择的可能是第N页的某一项数据。
下面用代码提供一下具体方案:
在详情页这么写:
upDatePrevList = (isCollect) => {
let pages = getCurrentPages();
if (pages.length > 1) {
let prePage = pages[