【问题标题】:flutter Child1 send data1 to Parent which forwards data1 to Child2颤振 Child1 将 data1 发送到 Parent 转发 data1 到 Child2
【发布时间】:2020-01-27 05:37:52
【问题描述】:

我有一个带有多个 TextFormFields 的表单小部件。

由于 Flutter 不那么可读,我什至将简单的表单字段都放在了自己的小部件中。

不知道这是不是很糟糕......

所以我将一个 TextFormField 和一个 Radio Button 组分别包装在其自己的 statefull 小部件中。

现在两人可以再一起交流了。

当我更改单选按钮小部件上的值时,文本表单字段小部件也应更改其值。

我该怎么做?

实际上我有一个有 2 个孩子的父母,他们需要共享数据。

我还没有为那个高级用例找到 Flutter 中的通信策略......在这里使用 2 个函数似乎真的是一个糟糕而繁琐的想法......

在 Angular 中,我为此类场景使用了共享单例服务。颤振中是否存在类似的东西?

【问题讨论】:

  • 你能发布一些代码吗?通常的总体思路是将这些小部件包装在具有 GlobalKey 的表单中,并在表单内的每个小部件上提供 onSaved 函数来更新您需要的某种值
  • 正如我所写...一个简单的函数向下传递并在那里调用是不够的。

标签: flutter


【解决方案1】:

是的,您可以使用带有 get_it 包 https://pub.dev/packages/get_it 的单例或使用提供程序在页面之间发送数据

【讨论】:

  • flutter 使用共享服务的常见做法吗?
  • 是的,要么是这个提供者模式,要么是带有 Streams 的 Bloc 模式
  • 感谢今天我阅读了有关提供者的信息,我还看到提到了 get_it!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-09
  • 2020-07-24
  • 1970-01-01
  • 2021-08-05
  • 2013-08-25
  • 2021-01-24
  • 2020-04-18
相关资源
最近更新 更多