gpt4 book ai didi

dart - 在 Flutter 中处理错误后如何设置文本字段的 setState()?

转载 作者:IT王子 更新时间:2023-10-29 06:43:08 24 4
gpt4 key购买 nike

我有一个名为 LoginWithFb() 的函数。该函数有一个 try catch block :

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('') 小部件。我想在捕获到错误时将文本写入文本小部件..

最佳答案

只需使用局部变量来存储消息并通过文本小部件显示它

   String message = "";   
void loginWithFb() async {
try {
...
} catch (exception) {

print(exception.toString());

setState(() {
message = "Some error happens";
_showProgressIndicator = false;
});
}

在小部件中:

Text(message);

关于dart - 在 Flutter 中处理错误后如何设置文本字段的 setState()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54985545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com