我在flutter中遇到软件包“ awesome_dialog”的问题

时间:2020-05-01 02:27:28

标签: flutter

我尝试使用软件包“ 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();
                                    },
                                  ),
                                ],
                              );
                            }
                        );

1 个答案:

答案 0 :(得分:0)

您不需要使用导航器,它会自行打包处理。

btnOkOnPress: () {
    //      Navigator.pop(context);  // commented line
},

您将在软件包的documentation部分中找到此内容。