Flutter:弹出屏幕堆栈中的所有基础页面

时间:2020-07-18 15:58:36

标签: flutter

在Flutter中说,我接下来有一个页面屏幕堆栈。屏幕上显示的是页面D,即最顶部的页面。

Page D
Page C
Page B
Page A

如果我在build()方法的第一行D页上执行Navigator.of(context).popUntil((route) => route.isFirst);,它将仅弹出C页和B页。

我如何也弹出页面A?

1 个答案:

答案 0 :(得分:1)

在Flutter中,页面路由是一个堆栈。在您的示例中,D是堆栈的顶部,A是底部。如果弹出到A,则从堆栈中清除了其他三个路由。如果随后尝试弹出A,则将显示黑屏,因为堆栈中没有剩余的路由。如果要弹出A并显示D,则需要使用Navigator.pushReplacementNamed(context,'D');