我尝试使用软件包“ awesome_dialog”,该软件包可在此处使用:https://pub.dev/packages/awesome_dialog
但是它不能正常工作:(
这是我使用的代码:
AwesomeDialog(
context: context,
useRootNavigator: true,
animType: AnimType.TOPSLIDE,
dialogType: DialogType.WARNING,
tittle: "pas de titre",
desc: "Vous ne pouvez pas sélectionner plus de 5 numéros !!!",
btnOkOnPress: () {
Navigator.pop(context);
},
).show();
结果是转到上一页…通常,当我单击“确定”时,它将保留在同一页面上。而且,如果我删除useRootNavigator行,则会出现大错误:
”在处理手势时引发了以下断言: 查找停用的小部件的祖先是不安全的。
这时,小部件的元素树的状态不再稳定。
要在其dispose()方法中安全地引用窗口小部件的祖先,请通过在窗口小部件的didChangeDependencies()方法中调用DependOnInheritedWidgetOfExactType()来保存对祖先的引用。”
在使用此软件包之前,我的代码是:
showDialog(
context: context,
builder: (BuildContext context){
return AlertDialog(
title: Text("Vous ne pouvez pas sélectionner plus de 5 numéros !!!"),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(10.0))),
actions: <Widget>[
FlatButton(
child: new Text("OK"),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
}
);
答案 0 :(得分:0)
您不需要使用导航器,它会自行打包处理。
btnOkOnPress: () {
// Navigator.pop(context); // commented line
},
您将在软件包的documentation部分中找到此内容。