Flutter - 从 parent 那里调用一些 child 的方法

标签 flutter

我正在探索 Flutter,我真的很喜欢它。 我正在构建一个简单的应用程序,其中我在 Scafold 的主体上有几个 Statefull 自定义小部件“计数器”的实例,并且我在抽屉上有一个“重置”按钮。

当点击“重置”按钮时,在所有“计数器”实例上调用“重置计数器”方法的最佳方式是什么?

我已经找到了另一种方法(从 child 调用 parent 的回调方法),但我找不到其他方法。我找到的唯一解决方案是使用 GlobalKeys,但它似乎不合适。

谢谢

最佳答案

确实对于您的案例回调函数可能是正确的。但是当您的应用程序增长时,小部件层次结构将变得越来越复杂。现在你有 Parent —> Child 关系并且传递回调函数很容易,但是当你得到 Parent —> Widget A—> Widget B—> Child为了将回调从 Parent 传递给 Child,您还需要通过 Widget AWidget B 传递它。

对我来说,您的问题听起来很适合 react 流。您可以创建一个 Sink ,当用户点击 Reset 按钮时将使用它,您的 Counter 将观察此事件并使用 处理它重置计数器 方法。您可以从 this presentation 了解更多关于响应式编程(以及其他解决问题的方法)的信息.

关于Flutter - 从 parent 那里调用一些 child 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52503373/

相关文章:

firebase - Flutter:如何使用先前的状态更新 Firestore 中的数据

android-studio - adb.exe 已停止使用 Android Studio 4.3.1 和 Android 9.+

flutter - 将 json 字符串转换为 flutter 中的对象列表

api - Flutter 应用程序后端有哪些选项?

Flutter TextInputType.number 不强制只输入数字键盘

android - 单击 [仅限 Android],OneSignal 不会打开我的 flutter 应用程序

在 flutter 中检查验证之前,验证变为 true

dart - 更改下拉值时文本字段中的值重置

flutter - 如何在 flutter 中返回前 2 页

google-maps - Flutter:如何保持 Google Map 的小部件不变?