Пытаясь выучить BLoC, я столкнулся с этой проблемой. У меня есть код, в котором я генерирую несколько кнопок с шаблоном BLoC. Тем не менее, я понятия не имею, как обновить определенные свойства кнопок с помощью метода dispatch(event)
. Как передать параметры в событие ChangeSomeValues
??
Часть, в которой используется BLoC
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()),
);
}
);
}
),
MyBloc.dart
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);
}
}
}
Я знаю, как использовать события для изменения значений, но я не мог найти, как редактировать определенные параметры в списке с помощью такой общей реализации.