Flutter Navigator.replace()示例

时间:2018-06-29 12:59:35

标签: dart flutter

我需要替换当前屏幕,并在Navigator的API中找到replace方法。但是我没有找到任何例子。也许有人知道使用它很热。 谢谢。

5 个答案:

答案 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()