我正在尝试 pushNamedAndRemoveUntil 但我注意到我的谓词不断返回 null 作为路由。
我的代码:
Navigator.pushNamedAndRemoveUntil(
context, 'search/studyPage',
(Route<dynamic> route) {
print(route);
return false; // im returning false to illustrate that all the routes being "popped" are all returning null
},
arguments: StudyPageArgs(widget.study)
);
这打印:
MaterialPageRoute<dynamic>(RouteSettings("null", null),
animation: AnimationController#117d7(⏭ 1.000; paused;
for MaterialPageRoute<dynamic>(null)))
MaterialPageRoute<dynamic>(RouteSettings("null", null),
animation: AnimationController#117d7(⏭ 1.000; paused;
for MaterialPageRoute<dynamic>(null)))
MaterialPageRoute<dynamic>(RouteSettings("null", null),
animation: AnimationController#117d7(⏭ 1.000; paused;
for MaterialPageRoute<dynamic>(null)))
MaterialPageRoute<dynamic>(RouteSettings("null", null),
animation: AnimationController#117d7(⏭ 1.000; paused;
for MaterialPageRoute<dynamic>(null)))
当我这样做时,我可以推到我以前的路线,但从那里弹出只会给我一个空白屏幕。这是因为谓词一直返回 null,所以之前的所有路由都从树中删除。知道发生了什么吗?
请记住,我使用的是嵌套导航器设置,与我在此处的其他问题相同:(带有嵌套导航器的 .popUntil)
谢谢