【发布时间】:2021-04-09 17:22:46
【问题描述】:
我不在应用程序中使用命名路由。相反,在 FlutterBloc 库的启发下,我使用了这样的路由定义。
class OrganizationPage extends StatelessWidget {
static Route route() {
return MaterialPageRoute<void>(builder: (_) => OrganizationPage());
}
// ....
}
我使用...导航
Navigator.push(
context,
LoginPage.route(),
);
假设从加载OrganizationPage 的角度来看,我已经导航了几次。我想要一个按钮,它会弹出 OrganizationPage 路由 + 上面的所有其他内容并加载一个新页面。如何做到这一点?
我想过做这样的事情......
Navigator.pushAndRemoveUntil(
context,
HomePage.route(),
(Route<dynamic> route) {
// print("Checking route: $route");
// return route.builder.toString().contains("OrganizationPage")
// `builder` is not available, even though it did in the debugger.
},
);
我想做的事能做到吗?如果有怎么办?
我假设如果我使用命名路由可能会更容易?不幸的是,我写了很多代码并且更喜欢避免重构。同样通过这种方式,我可以轻松地接受页面的任何参数。
提前致谢。
【问题讨论】: