【发布时间】:2019-11-12 23:55:42
【问题描述】:
在登录视图中,如果用户在未插入凭据的情况下点击登录按钮,则 LoginFailState 为 yield 并且视图会对此做出反应。如果他再次点击,此 LoginFailstate 再次为 yield,但视图不会对此做出反应。那么,有没有办法让相同的状态产生更多倍?
有一些代码可以更好地解释我的情况:
class LoginBloc extends Bloc<LoginEvent, LoginState> {
@override
LoginState get initialState => LoginUninitialized();
@override
Stream<LoginState> mapEventToState(LoginEvent event) {
if (event is loginButtonPressed) {
yield LoginFailState();
}
}
查看:
@override
Widget build(BuildContext context) {
return BlocBuilder(
bloc: _loginBloc,
builder: (BuildContext context, LoginState state) {
if (state is LoginFail) {
print ('Login fail');
}
return Column(
...
)
【问题讨论】: