小编Maj*_*zar的帖子

如何在 AlertDialog 关闭时刷新 Flutter UI?

我正在研究某种时间跟踪应用程序。它背后的主要思想很简单——为一个想要的项目添加小时数并显示每天的小时数总和。

我为此使用 Flutter 和 dart,我有以下内容: - 每个工作日的卡片列表 - 卡片具有手势检测器点击 - 此操作将显示所选日期的所有项目 - AlertDialog 弹出窗口以添加小时数

我正在尝试在警报对话框弹出关闭时刷新所选日期的总小时数,而无需重新加载所有数据。

有人可以帮助我了解如何实现刷新吗?

到目前为止我尝试过的内容如下:

  1. 我在导航到上一个屏幕之前更新数据上下文(传递的值)
  2. 我使用 StatefulWidget 为我的应用程序添加交互性
  3. 在返回上一个屏幕之前,我使用 setState 更改数据,但没有成功。
  4. 我在谷歌上找到了多种方法来“刷新”用户界面,但没有任何成功
  5. 我尝试使用 setState(),因为它可以完美地处理一些数据,但出现以下错误:“构建函数返回空值。”
  6. 我将 setState 添加为 ShowDialog 的一部分,但出现以下错误:“在构建期间调用了 setState() 或 markNeedsBuild()。” 所以我添加了额外的逻辑来检查数据是否脏,但在一天结束时我得到了相同的结果。

为此所需的行为是单击卡片并显示所选日期的所有项目。添加新值后,我想返回到同一个地方(使用打开的卡),新添加的项目将显示在列表中,以及当天更新的总小时数。

现在,我已经部分完成了编辑。我打开卡片并编辑现有项目之一。数据已保存,但当我返回上一个屏幕时,我无法更新 UI 上的小时数。当我再次打开编辑屏幕时,显示的数据符合预期。

dart flutter

6
推荐指数
1
解决办法
7455
查看次数

标签 统计

dart ×1

flutter ×1