我有一个FloatingActionButton
,当用户点击它并等待从onPressed
返回结果时,它需要是disabled
Widget _fab() {
return FloatingActionButton(
child: Icon(Icons.done),
onPressed: _onFabTap,
);
}
void _onFabTap() async {
//Somehow disable the button here until the end of this method call
await _viewModel.doneEditing();
//now enable the button
}
P.S.我正在使用ChangeNotifier
和Provider
进行状态管理。
4条答案
按热度按时间mxg2im7a1#
一种有效的方法是使用
ValueNotifier
,因为setState
可能会影响应用性能。7gcisfzg2#
只要将fab按钮作为一个单独的小部件,就可以使用setState执行此操作,但如果fab按钮是更大的小部件的一部分,则应考虑将其移动到一个单独的小部件或考虑使用
ValueNotifier
构建器在构建方法中
toiithl63#
您可以执行以下操作:
然后在
ChangeNotifier
中执行以下操作:anauzrmj4#