首页 > 解决方案 > 如何自动加载对话框并在颤动中关闭?

问题描述

Future.delayed(Duration.zero, () => welcomeDialogBoxx(context)); 在构建中使用了一种自动加载对话框的方法,但它存在问题,每当我浏览另一个屏幕时,对话框会在该屏幕上进一步打开。不知道为什么在被解雇后它会进一步加载。

这是为对话框定义的方法

welcomeDialogBoxx(BuildContext context) {
    return showDialog(
        context: context,
        builder: (BuildContext context) {
          return AlertDialog(
            .....
          );
        });
  }

标签: flutterdartflutter-layout

解决方案


这应该只打开一次对话框。从您的 Build 方法中删除 Future 并将此代码添加到您的 initState:

 @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addPostFrameCallback((_) => welcomeDialogBox(context));
  }

推荐阅读