Flutter 颤振:弹出屏幕堆栈中的所有底层页面

Flutter 颤振:弹出屏幕堆栈中的所有底层页面,flutter,Flutter,比如说在Flutter中,我在follow中有一个页面屏幕堆栈。屏幕显示D页,最上面的一页 Page D Page C Page B Page A 如果我执行Navigator.of(context.popintil)((route)=>route.isFirst)在build()方法的第一行D页上,它将只弹出C页和B页 如何同时弹出页面A?在Flatter中,页面路由是一个堆栈。在您的示例中,D是堆栈的顶部,A是底部。如果下拉到A,则已从堆栈中清除其他三条路由。如果您然后尝试弹出一个,您将得

比如说在Flutter中,我在follow中有一个页面屏幕堆栈。屏幕显示D页,最上面的一页

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


如何同时弹出页面A?

在Flatter中,页面路由是一个堆栈。在您的示例中,D是堆栈的顶部,A是底部。如果下拉到A,则已从堆栈中清除其他三条路由。如果您然后尝试弹出一个,您将得到一个黑屏,因为堆栈中没有剩余的路由。如果要弹出A并显示D,则需要使用Navigator.pushreplacementname(上下文“D”)

如果你弹出一个,那么你会显示什么?要重新触发它吗?它将显示第D页,因为它已经在渲染过程中。请在这之后尝试使用
Navigator.pop(context)
。它将弹出页面A.route.isFirst是页面A吗?如果是这样的话,那么当popUntil到达页面A并注意到它与route相同时。首先,它返回true,并且不会弹出它(它是独占的),请尝试使用“route.pageD”或其他不在堆栈中的页面,以便将其全部弹出