首页 > 解决方案 > 颤振错误:参数类型“未来”' 不能分配给参数类型 '() → void'

问题描述

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

参数类型“Future”不能分配给参数类型“() → void”。

请在下面找到我的代码:

显示日期选择器代码

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

图标按钮代码

    IconButton(
        icon: Icon(Icons.date_range),
        onPressed: _selectDate(context)),

我正在使用 StatefulWidget,请告诉我如何解决这个问题。谢谢 :)

标签: flutterdart

解决方案


您是_selectDate直接调用,而不是传递调用_selectDate.

改变你onPressedonPressed: (){_selectDate(context);}


推荐阅读