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