【发布时间】:2021-07-12 17:02:30
【问题描述】:
这是我第一次使用BLoC,但我不明白如何更改状态。我有一个TextFormField 和一个Button,我希望Button 将controller 保存到我需要的User 类属性中。我了解如何从按钮的一侧提供给流,但我不明白如何在 UserbloC 类中保存更改。
class User {
String firstName, sName, phone, email;
User(this.firstName, this.sName, this.phone, this.email);
}
enum EventType { firstName, sName, phone, email }
class UserEvent {
late String value;
late EventType eventType;
UserEvent.firstName(String values) {
this.eventType = EventType.firstName;
this.value = values;
}
UserEvent.sName(String values) {
this.eventType = EventType.sName;
this.value = values;
}
UserEvent.phone(String values) {
this.eventType = EventType.phone;
this.value = values;
}
UserEvent.email(String values) {
this.eventType = EventType.email;
this.value = values;
}
}
class UserBloc extends Bloc<UserEvent, User> {
@override
User get initialState =>
User('Test', 'Test', '+1 999 888-77-66', 'test@gmail.com');
@override
Stream<User> mapEventToState(UserEvent event) async* {
switch (event.eventType) {
case EventType.firstName:
yield null;
break;
case EventType.sName:
yield null;
break;
case EventType.phone:
yield null;
break;
case EventType.email:
yield null;
break;
}
}
}
【问题讨论】:
标签: flutter flutter-bloc