微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在 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

编辑

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。