【问题标题】:Flutter GetX routing historyFlutter GetX 路由历史
【发布时间】:2021-02-17 10:27:43
【问题描述】:

我可以使用 GetX 查看导航器堆栈吗?我查看了文档,但找不到有关此主题的任何内容。我通常会关闭这样的对话框

Get.until((route) => !Get.isDialogOpen);

但我想知道如果特定页面的实例在路由历史记录中,我是否可以关闭路由,就像这样

  Get.until((route) => !Get.routingHistory.contains('/someRoute'));

请注意,这不是有效的语法。

【问题讨论】:

  • 你的意思是当你在另一个页面时你想从页面历史中关闭页面?
  • 我想一直关闭页面,直到我的导航器堆栈不包含该路线的实例
  • 偏离路线 /someRoute *

标签: flutter flutter-get


【解决方案1】:

如果您想继续关闭路由,直到到达页面路由......

Navigator.of(context).popUntil(ModalRoute.withName('/route-name'));

【讨论】:

    【解决方案2】:

    你需要使用:

    Get.offUntil(page, (route) => false)
    

    page 表示要导航的新页面。

    (route) => false
    

    是条件。

    【讨论】:

    • Get.offUntil(, (route) => false) 的第一个参数是什么或如何导航到新页面?我直接想在 传递一个类名,不想使用命名路由作为参数。有可能吗?
    • 我们可以这样使用: RaisedButton( child: Text("offUntil Fourth"), onPressed: () => Get.offUntil( MaterialPageRoute( builder: (context) => Second(),维护状态:假),(路线)=>假)),
    【解决方案3】:

    GetX 还有一个有用的功能:

    int times = 2;
    Get.close(times);
    

    关闭 [times] 定义的尽可能多的路由

    【讨论】:

      【解决方案4】:
      Get.offAll(Home());  // remove all previous routes and redirect to home
      

      与命名路由:

      Get.offAllNamed('/home');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-10
        • 2018-05-18
        • 2017-06-11
        • 2022-06-27
        • 1970-01-01
        • 2021-03-04
        • 2020-02-13
        • 1970-01-01
        相关资源
        最近更新 更多