我有第一页(共两页),在屏幕内有一个文本框和两个按钮(添加按钮和下一页按钮),当我在文本框中键入一些单词并单击“添加”按钮时,它将在同一文本中添加该文本下面的屏幕作为注释,现在我单击下一页按钮将使用 Navigator.push(“ code”)将我带到第二页,现在在第二页中我有一个文本框和一个按钮(添加按钮),如果我输入一些单词并单击添加按钮,则现在必须更改第一页笔记数据。现在,我单击使用navigator.push()获得的应用栏中的后退按钮,第一页必须使用更新的数据进行渲染。那么关于如何执行此操作的任何想法?
答案 0 :(得分:0)
Flutter基于类似React的单向数据流,因此基本上您是将数据传递给子小部件,而不是相反。这就是为什么有许多状态管理库和体系结构可用的原因。
但是,由于您的示例很简单,因此在深入研究状态管理方法之前,我将建议您采取一些措施来解决您的问题。
您可以将回调函数从第一个屏幕传递到第二个屏幕。因此,您在第一个屏幕中有一个函数,该函数在内部调用其setState
方法。您将第二个屏幕传递给该函数,然后第二个屏幕用一些值调用它并完成操作。
其他选项是,您可以编写自己的导航栏功能和应用栏图标,以覆盖默认栏。
并将结果传递到Navigator.pop
onPressed: () {
Navigator.pop(context, 'data!');
},
这是官方文档:Return data from a screen