我基本上有一个这样的结构:
--OuterWidget
--ListWidget
--ListElementWidget1
--ListElementWidget2
...
--ListElementWidget3
字符串
我想做的是:每当用户选中ListElementWidget中的复选框时,我希望在OuterWidget中得到有关通知。此外,每当我在OuterWidget中向列表添加元素时,我希望它能反映在ListWidget中。我可以在构造函数中传递一个通知器的简单方法,但是有更简单的方法吗?
3条答案
按热度按时间ha5z0ras1#
欢迎来到国家管理的世界!
要知道
ListElementWidget
中的复选框是否发生了变化,最简单的方法是沿着链向下传递一个回调方法,就像您已经提到的那样,然后在用户选中复选框时调用该方法。字符串
而且,对于
ListWidget
的更新,只需将OuterWidget
设置为StatefulWidget
并在添加元素时调用setState
就可以解决这个问题。虽然这确实解决了这个问题,但它可能不会很好地扩展,如果你认为这是一个问题,看看各种state management libraries Flutter。
zqdjd7g92#
查看stateful widgets
字符串
对不起,如果代码错误,我从记忆中键入...完整代码示例:
型
iezvtpos3#
我用flutter notification mechanism解决了我的问题。
例如:
字符串
然后,当内胆高度发生变化时,呼叫调度
型
外,你应该包裹你的孩子
型
希望帮助