在开发中,有时候会有这样的场景,就是一进来页面 就弹出一个Dialog模态框 进行一个页面的提示 或者 页面指引操作,但由于构建的问题,flutter不能在进入页面初始化的时候 直接弹出一个Dialog ,这样会报异常 因为上下文还没被构建出来,这个时候 可以使用 Future.delayed 去实现 这里不光是Dialog 只要是要先加载完的需求 都能用这个 比如一进来就要获取一个组件的位置 就需要先加载完 否则报错,示例如下:
// 方法1 使用延迟
Future.delayed(
Duration.zero,
(){
// 执行你的代码
},
);
// 方法2 监听桢回调
WidgetsBinding.instance.addPostFrameCallback((call) {
// 执行你的代码
});