Flutter BLoC-如何将参数传递给事件?

时间:2019-07-04 10:28:17

标签: events flutter dart parameters bloc

试图学习BLoC,我想到了这个问题。我有一些代码可以在其中生成带有BLoC模式的按钮。但是,我不知道如何使用ChangeSomeValues方法更新特定按钮的属性。如何将参数传递给事件BlocBuilder( bloc: myBloc, builder: (context, state) { return ListView.builder( itemCount: state.buttonList.length, itemBuilder: (context, index) { return MyButton( label: buttonList[index].label, value: buttonList[index].value, onPressed: myBloc.dispatch(ChangeSomeValues()), ); } ); } ), ??

使用BLoC的部分

class MyBloc extends Bloc<MyEvent, MyState> {

  @override
  Stream<MyState> mapEventToState(MyEvent event) async* {
    if (event is ChangeSomeValues) {
      ... modify specific parameters in list here ...
      yield MyState1(modifiedList);
    }
  }
}

MyBloc.dart

server.port=8989
server.servlet.contextPath=/DemoService/webresources/test/

我知道如何使用事件来更改值,但找不到这种通用实现来编辑列表中的特定参数。

1 个答案:

答案 0 :(得分:0)

事件代码:

LocalEntityManagerFactoryBean

将其发送为:class ChangeSomeValues extends MyEvent { final int data; ChangeSomeValues(this.data); }

集团

myBloc.dispatch(ChangeSomeValues(15))