Flutter:从 AlertBuilder 弹出,然后显示 SnackBar

Flutter: Pop from AlertBuilder and then show SnackBar

我是 Flutter 和应用程序开发的新手,我想要实现的是从 alertbuilder 弹出后显示 SnackBar。 我认为以下代码将有助于理解我的意图

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();
                          },

希望能解决你的问题

1,您应该像这样在 onpressed 活动中等待 showDialog

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);