在兄弟姐妹之间传递数据-颤抖

时间:2019-06-13 13:55:26

标签: flutter widget data-management state-management

我有三个小部件,一个crud小部件,一个crud表单小部件和一个crud列表小部件。为简单起见,我们分别将其称为小部件A,B和C。

小部件A只是B和C的包装。

所以层次结构是这样的

A
-B
-C

*请注意,B和C是同级,而A是父级

小部件C仅有一个用户列表,在该列表中点击一个用户时,我希望小部件B获取该用户数据,并使用该用户数据填充TextFormFields。

将小部件C中的数据传递到小部件B的最佳做法是什么?

小部件A在其状态下具有 user属性,并且具有可以传递的功能,即将用户作为参数,并在以下情况下更新其自身的状态:叫。轻按列表中的一个用户时,小部件C调用此函数。

我已经确认点击发生时小部件A中的状态正在更新。

我面临的问题是,尽管我在小部件b上具有用户属性,但该小部件无法获取更新的值,也不会重绘。

我在小部件B中具有表单字段的初始值,例如... initialValue: widget.user.firstName.isEmpty ? user.firstName : widget.user.firstName;

因此逻辑很简单,如果传递的数据具有值,则使用该值,否则,请使用状态值为的用户值。

0 个答案:

没有答案