首页 > 解决方案 > Flutter Navigation 与不同屏幕之间的值

问题描述

如果有人能解释如何处理以下问题,我将不胜感激:

我有一个带有 2 个字段的屏幕,可将我重定向到 2 个不同的页面。在这些页面中的每一个上,我都有一个文本字段,它使用控制器将文本推送到上一页的字段中。

但是,我对此没有解决方案,因为当我使用 Navigator.push 时,一个字段始终为空。如果我使用 Navigator.pop,我无法传输任何数据(可以吗?)。

有没有可能使用 Navigator.pop 并传递一些数据或类似的东西?

标签: flutterdartflutter-navigation

解决方案


您可以通过等待推送从第二个屏幕获取结果

这是一个例子:

你在第一页叫这个

final result = await Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => SecondPage(),
    )
  );

并在第二个屏幕中,当您调用 pop 时,将数据传递给它,如下所示:

Navigator.pop(context, controller.text);

然后在第一页中,结果变量中有控制器文本


推荐阅读