【发布时间】:2019-07-25 11:22:57
【问题描述】:
我在输入键盘关闭时使用rxdart library 登录屏幕。因为在 Flutter 的 iOS 版本中重建了 ConnectionState of StreamBuilder。
Widget handleLogin() {
return StreamBuilder(
stream: lgbloc.loginData,
builder: (BuildContext context, AsyncSnapshot<dynamic> snapshot) {
print(snapshot.connectionState);
if (snapshot.hasError ) {
isClick = false;
_controller.reverse();
Timer(Duration(seconds: 3), (){snapshot.hasError.toString();});
return setLoginText();
}
else {
_skLoginModel = snapshot.data;
if(_skLoginModel != null){
if (_skLoginModel.user != null){
isClick = false;
_controller.reverse();
initBloc.saveData(_skLoginModel.user);
return loginFinish();
}
else if (_skLoginModel.error != null && _skLoginModel.error.isNotEmpty){
_controller.reverse();
Timer(Duration(milliseconds: 500), (){
showInSnackBar(_skLoginModel.error);
_skLoginModel.error = null;
isClick = false;
});
return setLoginText();
}
else{
if(isClick){
_controller.forward();
return setLoading();
}
else{
_controller.reverse();
return setLoginText();
}
}
}
else {
_controller.reverse();
return setLoginText();
}
}
});
}
我希望键盘仍然显示。
【问题讨论】: