在Flutter中说,我接下来有一个页面屏幕堆栈。屏幕上显示的是页面D,即最顶部的页面。
Page D
Page C
Page B
Page A
如果我在build()方法的第一行D页上执行Navigator.of(context).popUntil((route) => route.isFirst);
,它将仅弹出C页和B页。
我如何也弹出页面A?
答案 0 :(得分:1)
在Flutter中,页面路由是一个堆栈。在您的示例中,D是堆栈的顶部,A是底部。如果弹出到A,则从堆栈中清除了其他三个路由。如果随后尝试弹出A,则将显示黑屏,因为堆栈中没有剩余的路由。如果要弹出A并显示D,则需要使用Navigator.pushReplacementNamed(context,'D');