Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:从AlertBuilder弹出,然后显示SnackBar_Flutter_Popup_Navigator_Snackbar - Fatal编程技术网

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

Flutter 颤振:从AlertBuilder弹出,然后显示SnackBar,flutter,popup,navigator,snackbar,Flutter,Popup,Navigator,Snackbar,我对颤振和应用程序开发都是新手,我想在从alertbuilder弹出后显示SnackBar。 我认为下面的代码将有助于理解我的意图 onSubmitted: (value) async { try { await FirebaseAuth.instance .sendPasswordResetEmail(

我对颤振和应用程序开发都是新手,我想在从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')),]
    );
  },
);
Scaffold.of(context).showSnackBar(snackbar);
3,然后,在那之后显示您的
SnackBar
。 在显示
SnackBar
之前,您必须添加SnackBar道具,就像我在下面写的那样

final snackbar = SnackBar(content: Text('Your context message'));
然后,您可以使用如下上下文显示
snackbar

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')),]
    );
  },
);
Scaffold.of(context).showSnackBar(snackbar);