【问题标题】:Flutter: How can I pass data back to Navigator when I use iOS swipe back gesture?Flutter:当我使用 iOS 向后滑动手势时,如何将数据传回 Navigator?
【发布时间】:2021-09-04 23:58:57
【问题描述】:

当我使用 iOS 向后滑动手势关闭页面时,如何将一些数据传回 Navigator?如果我手动关闭页面,显然一切正常,因为当我关闭它时,我调用 Navigator.pop() 方法并在参数中传递数据。但是当我用滑动手势返回时我该怎么做呢?

附: WillPopScope 将无济于事,仅与 Android 相关。

【问题讨论】:

    标签: ios flutter navigator


    【解决方案1】:

    我认为没有办法直接传递结果而不使用Navigator.pop()。我可以想到两种解决问题的方法:

    1. 如果向后滑动意味着“取消”(与例如通过某个显式按钮提交数据相反,您可以在其中调用Navigator.pop(result)),那么您可以通过检查Navigator.push() 的结果是否不为空来区分这两种情况。
    2. 您可以通过one of the state management approaches 在树上某处使用共享状态来存储数据。

    【讨论】:

      猜你喜欢
      • 2020-02-23
      • 2019-09-21
      • 1970-01-01
      • 2020-08-30
      • 1970-01-01
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多