Flutter: Pop из AlertBuilder, а затем показать SnackBar

Я новичок во Flutter, а также в разработке приложений. Я хочу показать SnackBar после появления из alertbuilder. Думаю, следующий код будет полезен для понимания моих намерений.

onSubmitted: (value) async {
                            try {
                              await FirebaseAuth.instance
                                  .sendPasswordResetEmail(
                                      email: _loginEmail);
                            } catch (e) {
                              SnackBar(
                                backgroundColor: Colors.pink,
                                content: Text(e.toString()),
                                duration: Duration(seconds: 5),
                              );
                              Navigator.of(context).pop();
                            }
                            SnackBar(
                              backgroundColor: Colors.pink,
                              content: Text('Email sent with a link!'),
                              duration: Duration(seconds: 5),
                            );
                            Navigator.of(context).pop();
                          },

person RUSHIKESH NARWADE    schedule 15.11.2020    source источник


Ответы (1)


Я надеюсь это решит твою проблему

1. Вы должны дождаться своего showDialog на своем onpressed мероприятии, как это

var result = await showDialog(
  context: context,
  barrierDismissible: false,
  builder: (context) {
    return AlertDialog(
       title: Text("your title")
       content: Text("your content")
       actions: <Widget>[
        FlatButton(
          onPressed: () {
            Navigator.pop(context, 'success'); // here you can make a callback
          },
          child: Text('Okay')),]
    );
  },
);

2, так что вы можете написать

if(result=="success"){}

3, Затем покажите свой SnackBar после этого. Перед показом SnackBar вы должны добавить опору закусочной, как я пишу ниже.

final snackbar = SnackBar(content: Text('Your context message'));

а затем вы можете показать snackbar в своем контексте следующим образом

Scaffold.of(context).showSnackBar(snackbar);
person Gilang Pratama    schedule 15.11.2020