Flutter 颤振/飞镖未等待响应
我有一个警报对话框,返回true或false(如果单击OK或Cancel)。调用时,立即分配null,代码继续(尽管方法正在等待…等待) 我错过了一些明显的东西,但看不见 这是警报代码Flutter 颤振/飞镖未等待响应,flutter,dart,Flutter,Dart,我有一个警报对话框,返回true或false(如果单击OK或Cancel)。调用时,立即分配null,代码继续(尽管方法正在等待…等待) 我错过了一些明显的东西,但看不见 这是警报代码 static choiceAlert(BuildContext context, String _message) { AlertDialog alert = AlertDialog( title: Text('Alert!'), content: SingleChildScrollView( c
static choiceAlert(BuildContext context, String _message) {
AlertDialog alert = AlertDialog(
title: Text('Alert!'),
content: SingleChildScrollView(
child: ListBody(
children: <Widget>[Text(_message)],
),
),
actions: <Widget>[
FlatButton(
onPressed: () => Navigator.pop(context, true),
child: Text('OK'),
),
FlatButton(
onPressed: () => Navigator.pop(context, false),
child: Text('Cancel'),
),
],
);
showDialog(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return alert;
},
);
因此,在调试会话中,我看到null分配给_areYouSure,因此条件_areYouSure==true永远不会为true
我本以为代码会在bool\u areYousure=
等待。。。因为它被标记为等待?是的,bool首先在内存中创建,并分配为null,但为什么不从行的“我的警报”对话框返回到它
onPressed: ()=> Navigator.pop(context, true),
我还有一个问题,如果有人想把它放进去,我是否应该用下面这句话来代替,因为他们似乎在做同样的事情,这句话被认为更正确
onPressed: ()=> Navigator.of(context, rootNavigator: true).pop(context, true),
感谢您的时间和帮助如何按如下方式重新构造代码
static choiceAlert(BuildContext context, String _message) {
return showDialog(
context: context,
child: AlertDialog(
.....
child: ListBody(...)));
}
好的,非常感谢。如果您能分享一下我的代码出错的地方,您的问题是无法返回
showDialog
。非常好,谢谢。我可以看到您的代码更像“颤振”,并遵循错误。不客气:)
static choiceAlert(BuildContext context, String _message) {
return showDialog(
context: context,
child: AlertDialog(
.....
child: ListBody(...)));
}