如何在Text()中为用户显示错误

时间:2020-05-11 14:36:00

标签: flutter dart

我正在使用Firebase的sendPasswordResetEmail()函数向我的应用程序添加“忘记密码”功能。

我有一个AlertDialog,用户可以在其中输入他们的电子邮件,按一个按钮,然后电子邮件将发送到用户的电子邮件,让他/她重置密码。我添加了一个Text(message),默认情况下message是一个空字符串。这个想法是,如果sendPasswordResetEmail()不起作用,我们将设置message = error.message,这是在按钮的onPressed中完成的:


FlatButton(
                  child: Text('Reset Password'),
                  onPressed: () async {
                    setState(() {
                      loading = false;
                    });
                    try {
                      await _authInstance.sendPasswordResetEmail(
                          email: forgotEmail);
                      Navigator.of(context).pop();
                    } catch (e) {
                      print(e.message);
                      setState(() {
                        errorMessage = e.message;
                      });
                    }
                  },
                ),


这暂时不起作用,errorMessage不会得到重新定义,但是在热重载时会起作用。我发现它很奇怪,因为它位于setState()中。

有人知道如何解决此问题吗?

0 个答案:

没有答案