我需要替换当前屏幕,并在Navigator的API中找到replace
方法。但是我没有找到任何例子。也许有人知道使用它很热。
谢谢。
答案 0 :(得分:7)
我通常使用
Route route = MaterialPageRoute(builder: (context) => NextPage());
Navigator.pushReplacement(context, route);
希望有帮助
答案 1 :(得分:1)
如果您还想弹出 Navigator
堆栈上的所有路由,请使用
Navigator.pushNamedAndRemoveUntil(context, '/page2', (route) => false);
或
Navigator.pushAndRemoveUntil(context,
MaterialPageRoute(builder: (_) => Page2()), (route) => false);
答案 2 :(得分:0)
我从未使用过Navigator.replace(),但是这个Navigator.pushReplacementNamed可能会帮助您。
Navigator.pushReplacementNamed(context, '/thread_list');
答案 3 :(得分:0)
如果路线中已有该页面,则建议的解决方案不好。 您将在现有页面上创建另一个页面..该解决方案应替换
Navigator.of(context).replace(
oldRoute: '/UserPage'->actual root,
newRoute: MaterialPageRoute(
builder: (context) =>
NavigationHomeController()));
答案 4 :(得分:0)
您还可以使用:
new Request()