Flutter 颤振导航仪移除,直到

Flutter 颤振导航仪移除,直到,flutter,dart,flutter-navigation,Flutter,Dart,Flutter Navigation,我有一个路由器堆栈,像pageA->pageB->pageC->pageD,我想从pageD弹出到pageA 如果使用Navigator.of(context).popUntil,将运行所有页面的pop转换,但我只想运行pageD转换,因为每个页面的Navigator转换都不同 我在下面找到了Navigator.removeRoute和Navigator.removeRoute,但我无法获得PageB或PageC的Route实例 有没有像removeintil这样的方法,或者解决我的问题的方法?

我有一个路由器堆栈,像
pageA->pageB->pageC->pageD
,我想从
pageD
弹出到
pageA

如果使用
Navigator.of(context).popUntil
,将运行所有页面的pop转换,但我只想运行
pageD
转换,因为每个页面的Navigator转换都不同

我在下面找到了
Navigator.removeRoute
Navigator.removeRoute
,但我无法获得
PageB
PageC
Route
实例

有没有像
removeintil
这样的方法,或者解决我的问题的方法?谢谢。

试试这个

Navigator.pushAndRemoveUntil(
                context,
                MaterialPageRoute(builder: (context) => pageA()),
                ModalRoute.withName("/Home"),
              );
试试这个

Navigator.pushAndRemoveUntil(
                context,
                MaterialPageRoute(builder: (context) => pageA()),
                ModalRoute.withName("/Home"),
              );

不幸的是,如果使用此方法,
pageA
将是一个新的小部件,旧的
pageA
状态将丢失,路由堆栈将变成
pageA->pageA
。不幸的是,如果使用此方法,
pageA
将是一个新的小部件,旧的
pageA
状态将丢失,路由堆栈将变成
pageA->pageA