当Navigator.push移至另一个屏幕时,如何调用AlertDialog

时间:2020-10-19 12:13:33

标签: flutter

我想做的是让用户第一次到达出现oine alertDialog的屏幕。 我使用以下代码移至另一个屏幕:

Navigator.push(context, MaterialPageRoute(builder: (context) => IfProfilePage()));

在这种情况下,我切换了IfProfilPage,但是我想要的是第一次进入IfProfilePage,我稍后会构建一个Alertdialog,但是此dialogf将包含一些用户必须遵循的信息。 谢谢

1 个答案:

答案 0 :(得分:1)

您可以通过initstate方法传递它
它必须是stateful小部件

class DestinationPage extends StatefulWidget {

  @override
  _DestinationPageState createState() => _DestinationPageState();
}

class _DestinationPageState extends State<DestinationPage> {
@override
    @override
  void initState() {
    super.initState();
    Future.delayed(Duration.zero, () {
      showAlertdialog(context);
    });
  }

这是您可以使用的警报对话框的示例

showAlertDialog(BuildContext context) {

  // set up the button
  Widget okButton = FlatButton(
    child: Text("OK"),
    onPressed: () { },
  );

  // set up the AlertDialog
  AlertDialog alert = AlertDialog(
    title: Text("My title"),
    content: Text("This is my message."),
    actions: [
      okButton,
    ],
  );

  // show the dialog
  showDialog(
    context: context,
    builder: (BuildContext context) {
      return alert;
    },
  );
}