Вызов виджета в Future <Widget> function Flutter

В основном у меня есть кнопка (GestureDetector) для вызова функции Future в том же файле. Дело в том, что виджет в этой функции не отображается должным образом, но фоновый процесс выполняется успешно.

Триггер:

      showDialog(
context: context,
builder: (context) {
AlertDialog(
  /// Below the button to call function *resetPassword*
  GestureDetector(
   child: Text("Yes"),
   onTap: () async {
   Navigator.of(context).pop();
   resetPassword('manan@gmail.com')}))})

Функция виджета:

      Future<Widget> resetPassword(email) async {
try{
await FirebaseAuth.instance.sendPasswordResetEmail(email: email)
return AlertDialog(
///the content of dialog)
}on FirebaseAuthException catch (e) {
return AlertDialog(
///the content of dialog)
}}

На удивление электронное письмо со сбросом пароля было успешно отправлено.
Отказ от ответственности: я новичок во Flutter, надеюсь, sifus это рассмотрит.

1 ответ

Когда вы работаете с диалогами в целом, вам нужно обернуть его методом showDialog(), например:

        await showDialog(
   context: context,
   builder: (BuildContext context) {
    return AlertDialog(
      title: Center(child: Text('Reset password')),
      content: Builder(
        builder: (context) {
          return Container(child: ForgotPasswordForm());
        },
      ),
    );
  },
);

Во-вторых, я вижу, что у вас есть вложенные виджеты диалогового окна предупреждений, и я думаю, вам следует реструктурировать это.

Другие вопросы по тегам