flutter - 如何自动加载对话框并在颤动中关闭?
问题描述
我
Future.delayed(Duration.zero, () => welcomeDialogBoxx(context));
在构建中使用了一种自动加载对话框的方法,但它存在问题,每当我浏览另一个屏幕时,对话框会在该屏幕上进一步打开。不知道为什么在被解雇后它会进一步加载。
这是为对话框定义的方法
welcomeDialogBoxx(BuildContext context) {
return showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
.....
);
});
}
解决方案
这应该只打开一次对话框。从您的 Build 方法中删除 Future 并将此代码添加到您的 initState:
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) => welcomeDialogBox(context));
}
推荐阅读
- python - Python中的Gelu激活
- rx-java2 - 如何将每个可观察到的发射收集到 rxJava2/rxKotlin2 中的一个对象中?
- ruby-on-rails - 使用它所属模型的属性在 has_many 关联中设置模型属性的最全面方法是什么?
- sql - Bigquery SQL 中的并发会话
- python - C++ - 如何链接 python 库?
- python - 如何获得熊猫行的最大精度?
- jsf - 如何将 primefaces 4.0 升级到 6.2
- amazon-web-services - 如何更改从 AWS Step Function Map 并行运行的 Glue 作业的最大并发运行?
- javascript - Bootsrap 导航栏不下拉
- node.js - 单击发送消息后如何重置输入字段