我想对我好奇的话题提供一些建议。最佳方法和最佳做法是什么?我试图绘制有关此主题的UI。我正在使用flutter_bloc软件包。
场景:如图所示,我有一个列表,并且底部有得分按钮。如果未在列表中进行选择,则无法激活按钮。当我从列表中选择一个项目时,按钮处于 Activity 状态。当我按下得分按钮时,得分将写入列表中的所选元素,并且得分按钮再次变为非 Activity 状态。
这个用户界面看起来很简单,但是我的问题是用户界面更加复杂。 因此,我肯定会在屏幕上使用多个块。
我想知道如何以最佳方式获得集团之间的这种沟通?我应该在顶层创建一个父块吗?
最佳答案
您应该有一个将控制整个屏幕的块。
在您的集团状态下,您可以拥有一个保存所选项目(或其索引-实际由您决定)的属性。您的指针按钮将根据此 Prop 通过BlocBuilder
启用/禁用。
在指向按钮上点击,您只需添加一个事件,例如PointsAssigned(amount: 50)
或FiftyPointsAssigned()
-再次由您决定。此事件将映射到将点附加到所选项目的状态,并将通过BlocBuilder
重建UI,以便反射(reflect)您的更改。