颤振返回导航和集团数据

时间:2019-02-12 05:12:09

标签: flutter bloc

我有这个流程

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

发生的事情是从屏幕1转到详细信息屏幕2(具有数据集A),然后在该屏幕内有一个按钮,该按钮将再次调用具有另一组数据(数据集B)的屏幕2

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

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

我期望的是

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

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

2 个答案:

答案 0 :(得分:0)

定义一个初始值为A的全局变量,然后在Navigator.push()的{​​{1}}方法的B方法上将其值更改为onPop()将值改回screen2

答案 1 :(得分:0)

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

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

您构建的screen2小部件会从参数中获取指定的categoryId

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

获取其详细信息并显示它或执行任何操作。然后,当您按设备后退按钮时,它必须按预期工作。