簡體   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