新增一条信息返回列表(上一页)后,需要刷新,具体做法如下:
在新增页面
var pages = getCurrentPages(); //上一个页面 var prevPage = pages[pages.length - 2]; //直接调用上一个页面的setState()方法,把数据存到上一个页面中去 prevPage?.setData({ needRefresh: true }) // 返回上一页 Taro.navigateBack();
在列表页面的componentDidShow()生命周期调用
var pages = getCurrentPages(); //当前页面 var currPage = pages[pages.length - 1]; let needRefresh = currPage?.data?.needRefresh; if (needRefresh) { // 刷新操作 ...... // 防止每次进入该页面都要刷新 currPage?.setData({ needRefresh: false }) }
PS:以上只适用Trao编译为weapp时,编译为H5时未找到合适方法(Taro-v3.2.7)