flutter - 在兄弟姐妹之间传递数据 - 颤振
问题描述
我有三个小部件,一个 crud 小部件,一个 crud 表单小部件和一个 crud 列表小部件。为简单起见,我们分别称它们为小部件 A、B 和 C。
小部件 A 只是 B 和 C 的包装器。
所以层次结构是这样的
A
-B
-C
*注意B和C是兄弟姐妹,A是父母
小部件 C 只有一个用户列表,当点击该列表中的用户时,我希望小部件 B 获取该用户数据,并使用该用户数据填充 TextFormFields。
将小部件 C 中的数据传递给小部件 B 的最佳做法是什么?
小部件 A 在它的状态中有一个用户属性,并且有一个可以传递的函数,它将用户作为参数,并在调用时更新它自己的状态。当点击列表中的一个用户时,小部件 C 调用此函数。
我已经确认,当点击发生时,小部件 A 中的状态正在更新。
我面临的问题是,尽管我在小部件 b 上有一个用户属性,但该小部件没有获得更新的值,也没有重绘。
我在小部件 B 中有我的表单字段的初始值,就像这样......initialValue: widget.user.firstName.isEmpty ? user.firstName : widget.user.firstName;
所以逻辑很简单,如果向下传递的数据有值,则使用该值,否则使用 state 中的模型值,而不是正在传递的用户的值。
解决方案
推荐阅读
- axapta - 找不到输入值时如何覆盖对 DirPartyTable 查找的验证
- java - Timepicker android间隔
- reactjs - 反应“基类”/继承
- python-3.x - NameError:名称“指标”未定义
- python - How to refer Environment variables mentioned in openshift deployment, inside python code running in the pod of same deployment
- php - Laravel 急切加载查询问题
- javascript - 是否有任何查询可以从 mongodb 中查找记录,该记录将忽略数据库中的空格
- c# - 如何在 ASP.Net 标记中定义 c# 版本
- reactjs - 从本地文件存储播放声音
- javascript - 如果我在“url”地址中有“perPage = 20”(获取 20)并且有 1000 个元素,如何检查数组长度?