在flutter_bloc中的组中添加事件的问题

时间:2020-10-22 09:59:25

标签: android flutter flutter-bloc

我正在使用Flutter_bloc软件包在flutte中进行电话身份验证,一切正常,但是我的问题是将事件添加到块中,例如在我的应用程序中,当我单击下面的代码(如下面的代码)时,该事件已添加到我的loginBloc,一切正常,但是当我按android设备中的“后退”按钮,然后使用正常的navigationr.pushNamed返回时,再次单击该按钮,没有任何反应?这意味着该事件未添加到欧盟或类似的组织?有人可以解释这个问题吗?预先感谢:这是我在单击按钮时添加事件的示例代码:

 child: RaisedButton(
              onPressed: () {
                if (_formKey.currentState.validate()) {
                  loginBloc.add(LoginPressesEvent(
                      phoNo: _phoneTextController.value.text));
                }
              },

1 个答案:

答案 0 :(得分:0)

要向“群体”添加“事件”,请使用以下代码:

BlocProvider.of<'YourBlocClass'>('blocContext').add('YourEvent()'));

“ blocContext”是“ BlocListener中侦听器”的上下文参数:

BlocProvider(
      create: (context) => BlocClass()..add(Fetch()),
      child: BlocListener<BlocClass, BaseState>(
            listener: (listenerContext, state) {
                // listenerContext: store this parameter to Field
                // and use that everywhere in your StateClass
            },

或“ Bloc Builder中的构建器”的上下文参数

BlocProvider(
      create: (context) => BlocClass()..add(Fetch()),
      child: BlocBuilder<IndexBloc, BaseState>(
            builder: (builderContext, state) {
                // builderContext: store this parameter to Field
                // and use that everywhere in your StateClass
            },