[Flutter 实战] 检查Dialog isShown

在此记录项目中所遇到问题及解决方案

问题经过:
显示一个LoadingDialog,然后联网获取数据。之前一直正常,今天把网络关了测试,获取数据方法0秒返回,导致LoadingDialog还没有显示出来,就调用Navigator.of(context).pop(),所以把当前页面给关了。

在Flutter里没有isShown方法,找了半天才找到一个折中方法

import 'package:path/path.dart' as PATH;

///如果当前页面是最TOP层,会返回true
if(!ModalRoute.of(context).isCurrent){
          Navigator.of(context).pop();
}

你可能感兴趣的:([Flutter 实战] 检查Dialog isShown)