如何使用 flutter_bloc 添加 CircularProgressIndicator
Posted
技术标签:
【中文标题】如何使用 flutter_bloc 添加 CircularProgressIndicator【英文标题】:How to add CircularProgressIndicator using flutter_bloc 【发布时间】:2021-11-04 20:49:56 【问题描述】:我试图让当我提交按钮时,isLoading 变量设置为 true,当块发出状态时它返回 false,以显示循环进度指示器。 我的问题是我不知道在哪里或如何放置该变量,也不知道如何告诉集团这个变量在 BlocBuilder 之前/之外是真的,
这是我的按钮的代码:
TextButton(
child: Text("submit"),
onPressed: ()
context
.read<ShowMusicHomeBloc>()
.add(OnSearchTracks(q: _searchText.text));
_searchText.clear();
,
),
你能给我一个实际的例子吗?如何使用flutter_bloc将此变量isLoading设置为true?
【问题讨论】:
【参考方案1】:您可以创建一个LoadingState
并在按下按钮时发出它。
abstract class MyState
class MyLoadingState extends MyState
class MyLoadedState extends MyState
final MyData data;
MyLoadedState(this.data);
// other states like ErrorState or InitialState
class MyCubit extends Cubit<MyState>
MyCubit(this.someService) : super(MyLoadingState());
final SomeService someService;
Future<void> fetchData()
emit(MyLoadingState);
final fetchedData = someService.fetchData();
emit(MyLoadedState(fetchedData));
您也可以将相同的概念应用于Bloc
s。
【讨论】:
以上是关于如何使用 flutter_bloc 添加 CircularProgressIndicator的主要内容,如果未能解决你的问题,请参考以下文章