在 showDialog 中 Flutter Navigator.of(context).pop(),在 ios 中关闭完整应用

问题描述

我的应用程序的 ios 版本有问题,这是代码

void showErrorAlert(BuildContext context,String msj) {
  showDialog(
    context: context,builder: (context) {
      return AlertDialog(
        title: Text('Error'),content: Text(msj),actions: [
          TextButton(
            onpressed: () => Navigator.of(context).pop(),child: Text('ok'),)
        ],);
    },);
}

Android 中的 Navigator.of(context).pop() 工作完美,关闭对话框,一切正常,但在 ios 中,当该代码称为“Navigator.of(context).pop”时,整个应用程序将关闭()',有人知道我该怎么做才能只关闭 ios 中的对话框吗?

PD:我在输出控制台中没有任何错误或警告,即使 te 应用程序关闭 P.D.2:我已经尝试将 .pop 更改为这个 'Navigator.of(context,rootNavigator: true).pop('dialog')' 但它不起作用

解决方法

使用

Navigator.of(context,rootNavigator:true).pop()
,

SystemNavigator.pop() 是退出应用的推荐方式。

,

我常用的是

Navigator.pop(context);

它对我来说很好用。添加 .pop() 时有类似的问题

,

尝试切换到 stable 分支,因为这是一个已报告的错误。使用

flutter channel stable

编辑

该死,这个答案被保存为草稿,我关闭了我的笔记本电脑。我才发现你已经解决了