快速问题之间的导航颤振屏幕从一个可重用的抽屉在材料应用。
我在一个指向Screen1()和Screen2()的列表中设置了一个带有两个导航选项的抽屉,例如:
// Go to Screen 1
Navigator.push(context, MaterialPageRoute(
builder: (context) => Screen1()),
//
// Go to Screen 2
Navigator.push(context, MaterialPageRoute(
builder: (context) => Screen2()),如果用户通过抽屉在Screen1和Screen2之间反复导航,这会不会造成效率低下且层出不穷的屏幕堆栈?我的目的是更改每个屏幕上的抽屉--使用Navigator.pop(),以便用户可以返回到另一个屏幕,但据我所知,Navigator.pop()只会破坏抽屉本身,而不是屏幕!
我觉得有点奇怪。你建议我在抽屉里做些什么来保持工作效率?我可以编码导航弹出打破抽屉弹出实际屏幕吗?
谢谢。
发布于 2022-01-24 18:30:02
而不是pushAndRemoveUnitl,您可以使用pushReplacement。它用一个防止层叠的新屏幕取代以前的屏幕。如果有用的话,请投票:)
发布于 2022-01-24 18:05:15
您可以使用pushAndRemoveUntil
将给定的路由推送到导航器上,然后删除所有以前的路由,直到谓词返回true为止。
如果您想删除前面的每个路由,那么第二个参数predicate应该是这样的:(_) => false。还有一个命名变体。
https://stackoverflow.com/questions/70838318
复制相似问题