【问题标题】:How to navigate pages which are already open [Flutter]?如何浏览已经打开的页面 [Flutter]?
【发布时间】:2021-10-15 20:05:57
【问题描述】:

我有一个场景,我有 PageA、PageB、PageC。 从PageA我可以转到PageB,从PageB我可以转到PageC,从PageC我必须转到PageB,点击PageB的背面应该让我进入PageC。 这里的问题是这可以打开许多实例。例如,PageC -> PageB -> PageC -> PageB -> PageC -> PageB 等。在这种情况下,当发生后退点击时,它将返回为 PageB -> PageC -> PageB -> PageC -> PageB -> PageC等等.. 我要实现的是: PageA -> PageB -> PageC -> PageB -> PageC 如果返回点击是在 PageC 上,它应该总是返回到 PageB。 如果从 PageC 打开 PageB,它应该返回到 PageC,然后返回到 PageB,然后返回到 PageA,即最多打开两次 PageB。关于如何在颤振中实现这一点的任何帮助。我正在使用 Getx 在页面之间导航。

【问题讨论】:

    标签: flutter flutter-navigation flutter-getx


    【解决方案1】:

    使用flutter material app提供的这些代码来导航页面

    这是为了前进或转到下一页。

    Navigator.of(context).push(
    MaterialPageRoute(builder: (BuildContext context){
    return <Page you want to go>;
    },),);
    

    用这个返回

    Navigator.of(context).pop();
    

    这就像一个堆栈。你推你想去的页面,当你回去时,页面就会弹出。 使用此方法,您可以导航 A->B->C->B->C

    【讨论】:

    • 这就像一个堆栈完全一样,这意味着我可以无数次去 B->C -> B -> C,当点击返回时它会从堆栈中弹出项目,但我希望 B只打开了两次,一次来自 A,另一个来自 C,如果任何时候再次调用它,它应该重新打开打开的那个
    猜你喜欢
    • 2011-12-07
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 2010-11-24
    • 1970-01-01
    • 2023-02-17
    相关资源
    最近更新 更多