Flutter 我对包装有问题;很棒的“对话”;飘飘然

Flutter 我对包装有问题;很棒的“对话”;飘飘然,flutter,Flutter,我尝试使用“awesome_dialog”软件包,该软件包在以下位置提供: 但它不能正常工作:( 以下是我使用的代码: AwesomeDialog( context: context, useRootNavigator: true, animType: AnimType.TOPSLIDE,

我尝试使用“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();
                                    },
                                  ),
                                ],
                              );
                            }
                        );
showDialog(
上下文:上下文,
生成器:(BuildContext上下文){
返回警报对话框(
标题:文本(“你的选择加上5个数字!!!”,
形状:RoundedRectangleBorder(borderRadius:borderRadius.all(Radius.circular(10.0)),
行动:[
扁平按钮(
子项:新文本(“确定”),
已按下:(){
Navigator.of(context.pop();
},
),
],
);
}
);

您不需要使用navigator,它将自行打包

btnOkOnPress: () {
    //      Navigator.pop(context);  // commented line
},
您将在软件包的一部分中找到这一点。

谢谢:)您能说一下Navigator.pop(上下文)到底是做什么的吗???因为我在testNavigator.pop(上下文)时,它会转到上一页;用于导航回上一个屏幕,但在此软件包中,它们称为Navigator.pop(context);在里面,这样我们就不用叫自己了。