Flutter错误:无法将参数类型'Future <void>'分配给参数类型'()→void'

时间:2019-07-01 20:09:15

标签: flutter dart

单击图标按钮后,我试图调用showDatePicker小部件,但是当我调用onTap方法时,出现以下错误:

  

不能将参数类型'Future'分配给参数类型'()→void'。

请在下面找到我的代码:

showDatePicker代码

Duration: Format([DateCompleted]-[StartDate],"Short Time")

IconButton代码

DateTime selectedDate = DateTime.now();

  Future<Null> _selectDate(BuildContext context) async {
    final DateTime picked = await showDatePicker(
        context: context,
        initialDate: selectedDate,
        firstDate: DateTime(2018, 1),
        lastDate: DateTime(2101));
    if (picked != null && picked != selectedDate)
      setState(() {
        selectedDate = picked;
      });
  }

我正在使用StatefulWidget,请让我知道如何解决此问题。谢谢:)

1 个答案:

答案 0 :(得分:0)

您正在直接调用_selectDate,而不是传递调用_selectDate的函数。

将您的onPressed更改为onPressed: (){_selectDate(context);}