I use a function to perform all my routing. I now need to pass some arguments to CustomerDeskSearchResultsView and I do following:
Route<dynamic> generateRoute(RouteSettings settings) {
final args = settings.arguments;
switch (settings.name) {
case homeViewRoute:
return MaterialPageRoute(builder: (context) => const HomeView());
case privateKeyViewRoute:
return MaterialPageRoute(builder: (context) => const ScanPrivateKeyView());
case userProfileViewRoute:
return MaterialPageRoute(builder: (context) => const ProfileView());
case userTasViewRoute:
return MaterialPageRoute(builder: (context) => const TasView());
case aboutViewRoute:
return MaterialPageRoute(builder: (context) => const AboutView());
case customerDeskViewRoute:
return MaterialPageRoute(builder: (context) => const CustomerDeskSelectView());
case customerDeskSearchResultsViewRoute:
return MaterialPageRoute(builder: (context) =>
CustomerDeskSearchResultsView(searchType: '', searchValue: ''));
default:
return MaterialPageRoute(builder: (context) => const Error404Screen());
}
}
The passed arguments are searchType and searchValue. How to retrieve this from settings.arguments? args['searchType'] and args['searchvalue'] does not work.
Or am I doing this completely wrong?