从详细信息屏幕返回时如何更新CustomScrollView

时间:2020-10-25 18:50:22

标签: flutter customscrollview

我有一个脚手架,其中包含一个 CustomScrollView ,其中显示了用户未尝试过的项目列表(另一个显示了用户已尝试过的项目)。

使用出色的软件包flutter_sticky_header,我在 CustomScrollView 中填充了各种 SliverStickyHeaders SliverLists ,以获取一些信息。的行:

Fruits
  Apples   >
  Bananas  >
  Pears    >
Vegetables
  Broccoli >
  Cabbage  >
  Potatoes >

SliverLists 由一些GestureDetector“按钮”组成,当使用以下命令进行点击时,这些按钮会将用户带到 DetailScreen

onTap: () async {
  bool result = await Navigator.push( *go to the DetailScreen* )
  setState(() {
    if (result) { *change the icon on the button* }
  }
}

DetailScreen 上,用户可以指示他们是否尝试过该项目,以及何时弹出回到第一个屏幕和 CustomScrollView (按钮上的图标)他们推送的内容已更新,以显示已尝试项目的复选标记,并为未尝试项目显示“>”。

不幸的是,当用户弹出“未尝试过”的项目列表时,他们刚刚指出的“尝试过”的项目仍然存在,并且一直保留到用户导航离开并返回。

我想做的是更新/刷新/重建整个列表,以便当用户将项目从“未尝试”更改为“尝试”后弹出时,该项目不再在未尝试项目的列表中(反之亦然)。

基本上,当用户弹出时,我可以将将其带到 DetailScreen 的特定小部件的状态进行更新,但无法弄清楚如何更新/刷新父级的状态 CustomScrollView 小部件。

0 个答案:

没有答案