Flutter跳转到主页

960 阅读1分钟

问题描述

在App的开发过程中很多情况都需要从其他页面直接返回主页面。

解决方案:使用命名路由

条件:主页通过routes的"/"配置

MaterialApp(
  routes: <String, WidgetBuilder>{
    '/': (BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: const Text('Home Route'),
        ),
      );
    },
)

正确方式

Navigator.popUntil(context, ModalRoute.withName("/"));

错误方式:无法保持主页状态

Navigator.pushNamedAndRemoveUntil(context, "/", (check) => false);