【问题标题】:How to rebuild the first screen with data from second screen?如何使用第二个屏幕的数据重建第一个屏幕?
【发布时间】:2019-05-03 04:43:02
【问题描述】:

我有我的第一页(共两页),在屏幕内我有一个文本框和两个按钮(添加按钮和下一页按钮),当我在文本框中输入一些单词并单击添加按钮时,它会添加相同的文本下面的屏幕作为注释,现在我单击下一页按钮,它将使用 Navigator.push("code") 将我带到第二页,现在在第二页中我有一个文本框,只有一个按钮(添加按钮),如果我现在键入一些单词并单击添加按钮,它将不得不更改第一页注释数据。现在我单击我通过使用 navigator.push() 获得的 appbar 中的后退按钮,第一页必须使用更新的数据进行渲染。所以您知道如何做到这一点吗?

【问题讨论】:

    标签: flutter


    【解决方案1】:

    Flutter 基于像 React 这样的单向数据流,所以基本上你将数据传递给你的子小部件,而不是相反。这就是为什么有许多可用的状态管理库和架构的原因。

    但是,由于您的示例很简单,在您深入研究状态管理方法之前,我将建议您解决问题的几件事。

    您可以将回调函数从您的第一个屏幕传递到您的第二个屏幕。所以你在你的第一个屏幕中有一个函数,它在里面调用它的setState 方法。您将该函数传递给第二个屏幕,然后第二个屏幕使用一些值调用它并完成。

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

    并将结果传递到 Navigator.pop

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 1970-01-01
      • 2023-01-23
      • 1970-01-01
      相关资源
      最近更新 更多