0

我有这个流程

screen1->screen2(A)->screen2(B)

发生的情况是从 screen1 转到详细 screen2(带有数据集 A),然后在此屏幕内有一个按钮,它将再次调用 screen2 和另一组数据(数据集 B)

所以当我想回去时,这里的数据仍然显示数据 B

screen2(B)->screen2(B)->screen1

我期望的是

screen2(B)->screen2(A)->screen1

这与 BloC BehaviorSubject 模式有关吗?我尝试了 PublishSubject,但结果也一样。

4

1 回答 1

0

我会稍微更改您的导航,以便您使用

Navigator.of(context).pushNamed('screen2', arguments: {'categoryId': categoryId});

并且您在构建时的 screen2 小部件从参数中获取指定的 categoryId

Map args = ModalRoute.of(context).settings.arguments;

获取它的详细信息并显示它或做任何事情。然后,当您按下设备后退按钮时,它必须按预期工作。

于 2019-07-05T12:37:37.090 回答