Flutter 上的 DatePicker:获取日期时的空值:

DatePicker on Flutter: null value on getting date piked :

虽然我的代码没有出错,但无法从我的日期选择器中获取日期。

  Future selectDate() async {
    DateTime picked = await showDatePicker(
        context: context,
        initialDate: new DateTime.now(),
        firstDate: new DateTime(2016),
        lastDate: new DateTime(2222));
    if (picked != null) setState(() => picked = datepicked);
    else{
      print(picked);
    }
  }
}

您需要在日期选择器方法中传递context。完整的工作代码如下:

body: Center(
        child: RaisedButton(
        child: Text('click'),
        onPressed: () {
          selectDate(context);
        }
        )
      ),


Future selectDate(BuildContext context) async {
    DateTime picked = await showDatePicker(
        context: context,
        initialDate: selectedDate,
        firstDate: new DateTime(2016),
        lastDate: new DateTime(2222));
    if (picked != null && picked!= selectedDate) {
      setState(() => selectedDate = picked);
      print(picked);
    }
    else{
      print(picked);
    }
  }

// 2020-02-21 00:00:00.000