【问题标题】:How to update StatefulWidget from other class?如何从其他类更新 StatefulWidget?
【发布时间】:2019-09-22 22:20:56
【问题描述】:

首先,我是一个真正的 Flutter 初学者,所以我可能还没有掌握基本的设计模式。对于了解颤振的人来说,我的问题可能很简单。如下:

我的应用中有一个选项卡式 GUI 和一个浮动操作按钮。每个选项卡都有一个我想使用该操作按钮 (FAB) 更新的列表。执行此操作的简单方法似乎是每个选项卡都有一个操作按钮,但我读到您不应该在颤抖中执行此操作。所以我将按钮设置为“全局”,并在按下按钮时调用当前选项卡上的方法。然后该方法添加了一些应该在列表中显示的数据,但问题是列表当然并没有因为我添加数据而实际更新。 setState() 永远不会在该列表小部件内调用。

我发现的所有示例都非常简单,FAB 位于列表中,可以访问其 setState() 方法。但就我而言,我不在名单之列。我该如何解决这个问题?通知者?溪流?我迷路了……

【问题讨论】:

  • 我尝试使用从我的数据收集到小部件的流,它可以工作,但不知道这是否是正确/漂亮的方法......
  • 你可以给那个子类一个函数,让它在需要的时候调用。该功能可以在FAB附近执行setState。或者你可以调查InheritedWidget
  • 你可以查看我的答案stackoverflow.com/a/55451162/2315974stackoverflow.com/a/55396386/2315974,他们会稍微解释一下你的情况:)。

标签: flutter widget stateful


【解决方案1】:

我认为正确的解决方案是使用“堆栈”和“定位”,如:

- Stack
  - Scaffold
    - TabBar
  - Positioned
    - FloatingActionButton

【讨论】:

    猜你喜欢
    • 2019-02-12
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2018-09-07
    • 2020-08-14
    • 2012-12-16
    • 1970-01-01
    相关资源
    最近更新 更多