【发布时间】:2020-11-08 05:53:35
【问题描述】:
假设在 Flutter 中,我有一个页面屏幕堆栈。屏幕正在显示页面 D,即最顶层页面。
Page D
Page C
Page B
Page A
如果我在页面 D 上执行 Navigator.of(context).popUntil((route) => route.isFirst);,在 build() 方法的第一行,它只会弹出页面 C 和页面 B。
如何也弹出页面 A?
【问题讨论】:
-
如果你弹出A,那么你会显示什么?你想重新触发它吗?
-
它会显示页面D,因为它已经在渲染过程中。
-
在此之后尝试使用
Navigator.pop(context)。它将弹出页面 A。 -
route.isFirst 是页面A吗?如果是这样,那么当 popUntil 到达页面 A 并注意到它与 route.first 相同时,它返回 true 并且不会弹出它(它是专有的),尝试使用 'route.pageD' 或其他不在堆栈所以它全部弹出
标签: flutter