在Flutter中使用onPressed调用函数时出现问题

问题描述 投票:0回答:1

我试图在Flutter中的onPressed上调用一个函数。

我试过了

onPressed: (){ 
   _showDialog;
},

onPressed: _showDialog,

onPressed: () => _showDialog,

这是我的功能。

  void _showDialog() {
    showDialog(
      context: context,
      builder: (BuildContext context) {
        return AlertDialog(
          title: Text("Title"),
          content: Text("Body"),
          actions: <Widget>[
            FlatButton(
              child: Text("Close"),
              onPressed: () {
                Navigator.of(context).pop();
              },
            ),
          ],
        );
      },
    );
  }

我一直得到“无效的常数值”。

编辑:

这是我打电话给的地方:

                      secondary: const IconButton(
                        icon: Icon(Icons.domain),
                        onPressed: (){
                          _showDialog();
                        },
                      ),

Error when onPressed

flutter
1个回答
2
投票

你应该尝试这些方式:

onPressed: (){ 
   _showDialog();
},

要么

onPressed: _showDialog,

要么

onPressed: () => _showDialog(),

UPDATE

轻松修复:删除const关键字

      secondary: IconButton(
                    icon: Icon(Icons.domain),
                    onPressed: (){
                      _showDialog();
                    },
                  ),
© www.soinside.com 2019 - 2024. All rights reserved.