ios - 关闭 Cupertino 对话 Action Flutter

标签 ios dart android-alertdialog flutter

在使用解释的方法关闭呈现的 Cupertino 警报对话操作时,我的整个屏幕都会弹出,并且警报对话会留在屏幕上。这是我的代码。

if (deviceList.isEmpty){

      var alert = new CupertinoAlertDialog(
        title: new Text("Alert"),
        content: new Text("There was an error signing in. Please try again."),
        actions: <Widget>[
          new CupertinoDialogAction(
              child: const Text('Discard'),
              isDestructiveAction: true,
              onPressed: () { Navigator.pop(context, 'Discard'); }
          ),
          new CupertinoDialogAction(
              child: const Text('Cancel'),
              isDefaultAction: true,
              onPressed: () { Navigator.pop(context, 'Cancel'); }
          ),
        ],
      );
      showDialog(context: context, child: alert);
    }

我在做什么有什么问题吗?我找不到任何其他解决方案来消除警报对话。请帮忙。

最佳答案

在这种情况下,您需要将 rootNavigator 指定为 of() :

Navigator.of(context, rootNavigator: true).pop("Discard");

检查 the implementation proposed in the documentation

关于ios - 关闭 Cupertino 对话 Action Flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49611392/

相关文章:

ios - 获取静态 UITableView 的 UITableViewHeaderFooterView

ios - SwiftUI - 禁用某些 View 从右到左语言翻转

ios 快速解析 : how to collect pointer data

http - 如何将查询参数添加到 Dart http 请求中?

java - 如何创建边缘不平坦的对话框

android - Android-避免AlertDialog关闭(错误处理)

objective-c - GMGridView 显示在屏幕外,但与屏幕 View 重叠

android - 如何在未安装HAXM的AMD上使用Android Studio?

macos - flutter 桌面 : Cannot find device on MacOS Catalina

java - 没有找到处理来自广播接收器的 Intent 的 Activity