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