Flutter上的当前路线名称为null

时间:2020-11-03 17:58:05

标签: flutter dart

当我尝试找到当前页面时,总是得到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());

1 个答案:

答案 0 :(得分:2)

好吧,作为对下一个访问此页面的访问者的回答,如here所述,需要传递RouteSettings参数。


Route<dynamic> generateRoute(RouteSettings settings) {
    return MaterialPageRoute(
      settings: settings,
      builder: (BuildContext context) {
        //some custom code

        return _data[settings.name](context);
      }
    );
  }