我用过
Future.delayed(Duration.zero, () => welcomeDialogBoxx(context));
在构建中,这是一种自动加载对话框的方法,但是存在问题,每当我浏览另一个屏幕时,对话框都会在该屏幕上进一步打开。
邓诺(Dunno)被解雇后,为什么还要继续加载。
这是为对话框定义的方法
welcomeDialogBoxx(BuildContext context) {
return showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
.....
);
});
}
答案 0 :(得分:0)
这应该只打开一次对话框。从Build方法中删除Future并将以下代码添加到您的initState中:
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) => welcomeDialogBox(context));
}