我正在为我的项目使用bloc体系结构,这就是我试图根据复选框值禁用/启用表单的原因。
这是我的代码->>>
Widget _buildSameAsResidential(BuildContext context) {
return StreamBuilder<FormValue<bool, String>>(
initialData: _addressBloc.residentailEqualMailingValue,
stream: _addressBloc.residentailEqualMailing,
builder: (context, snapshot) {
return MemberFormField(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Checkbox(
onChanged: (isChecked) {
setState(() {
_isBothAddressEquals = isChecked;
});
_addressBloc.dispatch(
UpdateResidentialEqualMailing(value: isChecked));
},
value: snapshot.data.value,
),
],
),
);
},
);
}
如果需要的话,将setState与bloc一起使用不会构成犯罪,但是对于使用方式在您的代码中使用它的情况,不需要setState。复选框状态已由块处理。