我正在使用Flutter_bloc软件包在flutte中进行电话身份验证,一切正常,但是我的问题是将事件添加到块中,例如在我的应用程序中,当我单击下面的代码(如下面的代码)时,该事件已添加到我的loginBloc,一切正常,但是当我按android设备中的“后退”按钮,然后使用正常的navigationr.pushNamed返回时,再次单击该按钮,没有任何反应?这意味着该事件未添加到欧盟或类似的组织?有人可以解释这个问题吗?预先感谢:这是我在单击按钮时添加事件的示例代码:
child: RaisedButton(
onPressed: () {
if (_formKey.currentState.validate()) {
loginBloc.add(LoginPressesEvent(
phoNo: _phoneTextController.value.text));
}
},
答案 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
},