如何解决从外部方法传递异常错误以显示在小部件树中
我是陌生的,正在尝试构建一个应用程序。我现在正面临这个问题,只想问一下如何将错误消息从外部方法传递到我的小部件树并将其显示在警报对话框中?这是我目前的当前代码:
auth.dart
String _userEmail = '';
String _userPassword = '';
String _sysError = '';
Auth _auth = new Auth();
final _scaffoldKey = GlobalKey<ScaffoldState>();
void onSubmit() {
if(_signInKey.currentState.validate()) {
_signInKey.currentState.save();
_auth.signInUser(_userEmail,_userPassword,_sysError);
if(_sysError != null) {
showAlertDialog(_scaffoldKey.currentState.context);
}
}
}
.
.
.
Widget build(BuildContext context) {
...
RaisedButton(
onPressed: onSubmit,),...
}
login.dart
{{1}}
希望您能帮助我解决此问题。预先感谢!
解决方法
Future<String> signInUser(String userEmail,String userPassword,errMessage) async {
try {
authResult = await _firebaseAuth.signInWithEmailAndPassword(email:
userEmail,password: userPassword);
print(authResult.user.uid);
return null;
} on PlatformException catch(error) {
errMessage = 'An error occurred while processing the request. Please check
and try again.';
if(error.message != null) {
errMessage = error.code.toString();
print(errMessage);
}
return error.message;
}
}
String _userEmail = '';
String _userPassword = '';
String _sysError = '';
Auth _auth = new Auth();
final _scaffoldKey = GlobalKey<ScaffoldState>();
void onSubmit() asysc{
if(_signInKey.currentState.validate()) {
_signInKey.currentState.save();
_sysError = await _auth.signInUser(_userEmail,_userPassword,_sysError);
if(_sysError != null) {
showAlertDialog(_scaffoldKey.currentState.context);
}
}
}
Widget build(BuildContext context) {
...
RaisedButton(
onPressed: onSubmit,),...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。