简体   繁体   English

flutter如何使用alertDialog?

[英]flutter how to use alertDialog?

I'm making sign in system in flutter.我正在 flutter 中登录系统。

I want to use alertDialog for sign in failed.我想使用 alertDialog 登录失败。

if-else is included in onpressed: if-else 包含在 onpressed 中:

else {
                      AlertDialog(
                        title: Column(
                          children: <Widget>[
                            new Text("Log in failed"),
                          ],
                        ),
                        //
                        content: Column(
                          mainAxisSize: MainAxisSize.min,
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: <Widget>[
                            Text(
                              "ID or Password doesn't exist",
                            ),
                          ],
                        ),
                        actions: <Widget>[
                          new FlatButton(
                            child: new Text("OK"),
                            onPressed: () {
                              Navigator.pop(context);
                            },
                          ),
                        ],
                      );

Writing return doesn't work and deleting return doesn't show anything.写 return 不起作用,删除 return 不显示任何内容。

How to fix this?如何解决这个问题?

You need to call showDialog and pass the AlertDialog you created.您需要调用showDialog并传递您创建的AlertDialog

The demo I created on DartPad .我在DartPad上创建的演示。

await showDialog(
  context: context,
  builder: (context) => AlertDialog(
    title: Column(
      children: <Widget>[
        new Text("Log in failed"),
      ],
    ),
    //
    content: Column(
      mainAxisSize: MainAxisSize.min,
      crossAxisAlignment: CrossAxisAlignment.start,
      children: <Widget>[
        Text(
          "ID or Password doesn't exist",
        ),
      ],
    ),
    actions: <Widget>[
      new FlatButton(
        child: new Text("OK"),
        onPressed: () {
          Navigator.pop(context);
        },
      ),
    ],
  ),
);

Note: Use TextButton instead of FlatButton because FlatButton is deprecated .注意:使用 TextButton 而不是 FlatButton,因为 FlatButton 已弃用

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM