相关疑难解决方法(0)

Flutter - 如何在不使用命名路由的情况下弹出两个屏幕?

比如我现在的路由是这样的:Login -> Screen1 -> Screen2 -> Screen3 -> Screen4 我想从Screen4回到Screen2。我不能使用命名路由,因为我必须向 Screen2 传递一个参数。在 Screen4 中推送 Screen2 不是一个好的解决方案。请帮忙,谢谢。

mobile-application flutter

16
推荐指数
4
解决办法
1万
查看次数

如何在颤动中弹出到特定屏幕

我推了四屏 ScreenOne >> ScreenTwo >> ScreenThree >> ScreenFour

我现在在ScreenFour,我想回到ScreenTwo

在 Swift 中它是这样工作的:

if let viewControllers: [UIViewController] = self.navigationController!.viewControllers {
    for vc in viewControllers
    {
        if (vc is SecondViewController)
        {
            self.navigationController!.popToViewController(vc, animated: true)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何在颤振中执行此操作。

请给出解决方案,谢谢

uinavigationcontroller ios dart swift flutter

8
推荐指数
1
解决办法
4157
查看次数

如何在我的Flutter App中重置基本路由 - 即弹出任何路由并使用Navigator将其替换为新路由

如果这很明显,那么Flutter的新人请原谅我,但我已阅读文档并尝试了一堆Navigator选项,但它们都没有按照我的意愿工作.问题集:我们有一系列复杂(良好,半复杂)的屏幕等处理登录/授权/注册过程.这可以在Route堆栈上降低到3或4级.这一切都很好 - 不用担心.

当我们获得一个成功的登录事件(来自几个不同的路径)并想要转到"主页"页面时,问题就出现了.一旦我们在主页上应该是Route树的新"根"(我确信这不是正确的术语 - 但我认为这个想法是可靠的).

所以,考虑到我们可能是1/2/3甚至4级,并希望"弹出"并将整个堆栈(请将任何转换事件)替换为新的顶级根 - 什么神奇的Navigator集或方法将干净利落地做?

我当前(可怕的)方法是手动"pop()"级别并执行Navigator.pushReplacementNamed()调用(这里都是命名路由)但这不是通用解决方案(必须确切知道多少级别)更糟糕的是,它会导致"动画"过渡到屏幕上的"弹出"一瞬间,每个pop()看起来......不是很好.

TIA!

navigator dart flutter

6
推荐指数
2
解决办法
4418
查看次数

如何杀死导航堆栈?在Flutter中弹出所有以前的屏幕?

因此,我有这种演练,它将用户从一个屏幕推送到另一个屏幕(总共六个屏幕)。在最后一页中,我希望用户按“完成”,然后将他带回到第一个屏幕,而又无法弹出到先前的任何屏幕。

现在它会弹出最后一个屏幕,但不会弹出任何其他屏幕,因此它使我回到了原来的屏幕,并且能够跳回到最后一个屏幕之前的屏幕(希望最后一句话对您有意义,因为最后一个屏幕弹出后,我需要回到那个屏幕之前)。

任何想法如何解决?

谢谢!

flutter

5
推荐指数
2
解决办法
3990
查看次数