I have generateRoute.
class Routes {
static Route<dynamic> generateRoute(RouteSettings settings) {
switch (settings.name) {
case homeRoute:
return MaterialPageRoute(
builder: (_) => HomePage(),
);
case createInquiryRoute:
return MaterialPageRoute(
builder: (_) => CreateInquiryPage(),
);
default:
return MaterialPageRoute(
builder: (_) => Scaffold(
body: Center(
child: Text(
'No route defined for ${settings.name}',
),
),
),
);
}
}
}
I am on homeRoute and push into createInquiryRoute using:
Navigator.of(context).pushNamed(constant.createInquiryRoute);
In my createInquiryRoute, i have a dialog and a button inside it. I want to back to homeRoute when the dialog in createInquiryRoute is show by click the button inside the dialog.
I tried:
Navigator.of(context).popUntil(ModalRoute.withName(constant.homeRoute));
But it sends me into a blank page.
But, when I am not using generateRoute, suppose I am using routes and do the same way to close the dialog and back to prev page, my applicaation works. Why?
*I am using generateRoute because sometime I pass params to other screen.
question from:
https://stackoverflow.com/questions/65840511/why-popuntil-on-generateroute-make-my-application-blank 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…