如何用第二个屏幕中的数据重建第一个屏幕?

时间:2019-05-03 04:43:03

标签: flutter

我有第一页(共两页),在屏幕内有一个文本框和两个按钮(添加按钮和下一页按钮),当我在文本框中键入一些单词并单击“添加”按钮时,它将在同一文本中添加该文本下面的屏幕作为注释,现在我单击下一页按钮将使用 Navigator.push(“ code”)将我带到第二页,现在在第二页中我有一个文本框和一个按钮(添加按钮),如果我输入一些单词并单击添加按钮,则现在必须更改第一页笔记数据。现在,我单击使用navigator.push()获得的应用栏中的后退按钮,第一页必须使用更新的数据进行渲染。那么关于如何执行此操作的任何想法?

1 个答案:

答案 0 :(得分:0)

Flutter基于类似React的单向数据流,因此基本上您是将数据传递给子小部件,而不是相反。这就是为什么有许多状态管理库和体系结构可用的原因。

但是,由于您的示例很简单,因此在深入研究状态管理方法之前,我将建议您采取一些措施来解决您的问题。

您可以将回调函数从第一个屏幕传递到第二个屏幕。因此,您在第一个屏幕中有一个函数,该函数在内部调用其setState方法。您将第二个屏幕传递给该函数,然后第二个屏幕用一些值调用它并完成操作。

其他选项是,您可以编写自己的导航栏功能和应用栏图标,以覆盖默认栏。

并将结果传递到Navigator.pop

  onPressed: () {
    Navigator.pop(context, 'data!');
  },

这是官方文档:Return data from a screen