flutter 如果没有使用`Navigator.pop(context)`弹出屏幕,则返回屏幕上的数据,

uujelgoq  于 6个月前  发布在  Flutter
关注(0)|答案(1)|浏览(58)

使用案例

目前,我们的Flutter应用程序需要通过Navigator.pop(context, result)从屏幕返回数据。然而,在某些情况下,屏幕可能无法使用此方法弹出,但我们仍然需要返回数据。此次增强请求的目的是使屏幕即使未使用Navigator.pop(context)弹出,也能返回数据。

建议

将数据保留到全局状态中,以便从上一个屏幕访问。考虑到提高处理屏幕导航和数据返回的灵活性。

  • 用户从屏幕A导航到屏幕B
  • 外部事件(例如,由系统导航栏的用户发起的导航)关闭了屏幕B。
  • 屏幕B应该能够将数据返回给上一个屏幕
    我不知道是否可以通过PopScope实现这一点。
jhiyze9q

jhiyze9q1#

你可以有一个全局的应用数据模型(通过InheritedWidget注入或者像package:provider这样的东西),屏幕B修改它,然后屏幕A可以从那里访问数据。

相关问题