【问题标题】:How to add CircularProgressIndicator using flutter_bloc如何使用 flutter_bloc 添加 CircularProgressIndicator
【发布时间】: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?

【问题讨论】:

    标签: android flutter bloc flutter-bloc


    【解决方案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));
      }
    }
    

    您也可以将相同的概念应用于Blocs。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-05
      • 2021-12-25
      • 2021-11-13
      • 2021-12-28
      • 2022-10-16
      • 2019-01-23
      • 2021-03-26
      • 2020-03-22
      相关资源
      最近更新 更多