对于 Flutter 新手来说,如果这是显而易见的,请原谅我,但我已经阅读了文档并尝试了一堆导航器选项,但它们都没有按照我想要的方式工作。问题集:我们有一系列复杂(半复杂)的屏幕等,用于处理登录/授权/注册过程。路由堆栈上的层级可以减少到 3 或 4 层。这一切都很好——不用担心。
当我们获得成功的登录事件(来自几个不同的路径)并想要转到“主页”页面时,问题就出现了。一旦我们进入主页,它就应该是路由树的新“根”(我确信这不是正确的术语——但我认为这个想法是可靠的)。
因此,考虑到我们可能向下 1/2/3 甚至 4 级,并且想要“弹出”并将整个堆栈(请使用任何转换事件)替换为新的顶级根 - 什么神奇的导航器集或方法将干得干净吗?
我当前的(可怕的)方法是传递“pop()”级别并执行 Navigator.pushReplacementNamed() 调用(它们都是此处的命名路由),但这不是通用解决方案(必须确切知道有多少级别)更糟糕的是,它会导致屏幕上的每个 pop() 瞬间从“动画”过渡到“pop”,这看起来......不太好。
TIA!
导航器揭露的不仅仅是pop
。您可以执行以下操作:
Navigator.pushNamedAndRemoveUntil(context, '/', (_) => false);
这基本上会推动一个 home 并删除all新路线背后的路线
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)