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
虽然我的代码没有出错,但无法从我的日期选择器中获取日期。
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