flutter - 导航不去指定的路线
问题描述
我正在尝试使用该导航器键将路线更改为不同的导航器,但是当导航到另一个导航器时,没有任何反应
Navigator(
key: Provider.of<RoutesProvider>(context, listen: false).firstKey,
onGenerateRoute: (settings) {
return MaterialPageRoute(
settings: settings,
builder: (context) {
switch (settings.name) {
case '/':
return FirstPage();
case '/second':
return SecondPage();
default:
throw Exception('Invalid route: ${settings.name}');
}
},
);
},
);
另一个页面:
Navigator(
key: Provider.of<RoutesProvider>(context, listen: false).secondKey,
onGenerateRoute: (settings) {
return MaterialPageRoute(
settings: settings,
builder: (context) {
switch (settings.name) {
case '/':
return ThirdPage();
case '/fourth':
return Fourth();
default:
throw Exception('Invalid route: ${settings.name}');
}
},
);
},
);
在应用程序的第二个导航器部分中,我尝试使用上下文更改页面:
final BuildContext firstContent = Provider.of<RoutesProvider>(context, listen: false).firstContent.currentContext;
Navigator.of(firstContent).pushNamed('/');
似乎该路线中的代码被调用(添加了 aprint
并运行),但可视屏幕保持在同一页面上。
解决方案
推荐阅读
- powershell - PowerShell 中的错误输出
- azure-ad-b2c - Azure AD B2C 回复 url 到通配符 URL
- highcharts - 高库存。防止空白增加新的系列
- maven - 如何为 OpenDayLight Karaf 添加新功能?
- java - 更新旧的 Nutch 插件以能够在 Nutch 2.3.1 中使用 Xpath 解析
- powershell - 导入 CSV 太慢
- php - 从数组属性中获取数据
- sql - 在 SQL Server 中按 concat 分组
- javascript - 用于更漂亮数据的表单输入掩码
- ios - 使用 RxSwift 定期调用 API