我有一个名为LoginWithFb()
的函数。该函数有一个try catch块:
void loginWithFb() async {
try {
var auth = AuthProvider.of(context).auth;
print('Signing up with fb...');
setState(() {
_showProgressIndicator = true;
});
FirebaseUser user = await auth.signInWithFBAcc();
uId = user?.uid;
if (uId != null) {
print('Signed in: $uId');
widget.onSignedIn(user);
} else {
print('fb login cancelled');
}
// _showAlert(context);
setState(() {
_showProgressIndicator = false;
});
} catch (exception) {
print(exception.toString());
setState(() {
_showProgressIndicator = false;
});
}
当发现错误时,我想向用户显示消息。该消息必须在文本字段中,而不是通过对话框。目前,我的构建方法中有一个空的Text('')
小部件。捕获错误后,我想向文本小部件中写入文本。
答案 0 :(得分:1)
只需使用本地变量存储消息并通过“文本”小部件显示
String message = "";
void loginWithFb() async {
try {
...
} catch (exception) {
print(exception.toString());
setState(() {
message = "Some error happens";
_showProgressIndicator = false;
});
}
在小部件中:
Text(message);