Big*_*gto 16 mobile-application flutter
比如我现在的路由是这样的:Login -> Screen1 -> Screen2 -> Screen3 -> Screen4 我想从Screen4回到Screen2。我不能使用命名路由,因为我必须向 Screen2 传递一个参数。在 Screen4 中推送 Screen2 不是一个好的解决方案。请帮忙,谢谢。
Geo*_*rge 38
使用popUntilNavigator 类的方法。
例如
int count = 0;
Navigator.of(context).popUntil((_) => count++ >= 2);
Run Code Online (Sandbox Code Playgroud)
但是,我建议为您的路线定义名称并popUntil按照文档的设计使用。
如果这有帮助,请告诉我。
Yau*_*nka 13
将从其作为 StatefulWidget 进行转换的类。要按下操作,请添加pushNamed带有 的导航器then,该导航器将在返回此屏幕后触发。通过setState更新小部件:
onTap: () {
Navigator.pushNamed(
context,
RouteNames.viewExercises,
).then((value) {
setState(() {});
});
},
Run Code Online (Sandbox Code Playgroud)
返回使用的屏幕:
Navigator.of(context)
..pop()
..pop()
..pop();
Run Code Online (Sandbox Code Playgroud)
where..pop()可以根据需要多次使用以进行备份。
LgF*_*nco 12
你可以弹出它两次;
nav = Navigator.of(context);
nav.pop();
nav.pop();
Run Code Online (Sandbox Code Playgroud)
小智 6
如果你想弹出三次,你可以使用下面的代码。
int count = 3;
Navigator.of(context).popUntil((_) => count-- <= 0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10207 次 |
| 最近记录: |