繁体   English   中英

flutter如何使用alertDialog?

[英]flutter how to use alertDialog?

我正在 flutter 中登录系统。

我想使用 alertDialog 登录失败。

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);
                            },
                          ),
                        ],
                      );

写 return 不起作用,删除 return 不显示任何内容。

如何解决这个问题?

您需要调用showDialog并传递您创建的AlertDialog

我在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);
        },
      ),
    ],
  ),
);

注意:使用 TextButton 而不是 FlatButton,因为 FlatButton 已弃用

暂无
暂无

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

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