当我尝试找到当前页面时,总是得到null
。如何获得当前页面?
print('current page ${ModalRoute.of(context).settings.name}');
我的最终目标是
if(ModalRoute.of(context).settings.name == 'homePage'){
showAlert()
}
我的MaterialApp
MaterialApp(
onGenerateRoute: CustomRouter.generateRoute,
...
class CustomRouter {
static Route<dynamic> generateRoute(RouteSettings settings) {
final Arguments arguments = settings.arguments;
switch (settings.name) {
case Splash.route:
return MaterialPageRoute(builder: (_) => Splash());
答案 0 :(得分:2)
好吧,作为对下一个访问此页面的访问者的回答,如here所述,需要传递RouteSettings参数。
Route<dynamic> generateRoute(RouteSettings settings) {
return MaterialPageRoute(
settings: settings,
builder: (BuildContext context) {
//some custom code
return _data[settings.name](context);
}
);
}