以下代码正常运行。但是我不知道如何设置默认日期值!
final dateFormat = DateFormat("dd-M-yyyy");
DateTimePickerFormField(
dateOnly: true,
format: dateFormat,
decoration: InputDecoration(labelText: 'Select Date'),
initialDate: DateTime.now(),
onSaved: (value){
_date = value;
},
),
我正在使用datetime_picker_formfield:
flutter库。
我正在尝试使用initialDate: DateTime.now()
初始日期属性来执行此操作,但是它没有显示任何内容作为初始值。
谢谢!
答案 0 :(得分:2)
为了显示初始日期值,您需要使用-initialValue:
initialDate:
用于让数据选择器显示提及的日期。
DateTimePickerFormField(
dateOnly: true,
format: dateFormat,
decoration: InputDecoration(labelText: 'Select Date'),
initialValue: DateTime.now(), //Add this in your Code.
// initialDate: DateTime(2017),
onSaved: (value) {
debugPrint(value.toString());
},
),
使用验证程序更新代码:
var _myKey = GlobalKey<FormState>();
final dateFormat = DateFormat("dd-M-yyyy");
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
Form(
key: _myKey,
child: Center(
child: DateTimePickerFormField(
dateOnly: true,
format: dateFormat,
validator: (val) {
if (val != null) {
return null;
} else {
return 'Date Field is Empty';
}
},
decoration: InputDecoration(labelText: 'Select Date'),
initialValue: DateTime.now(), //Add this in your Code.
// initialDate: DateTime(2017),
onSaved: (value) {
debugPrint(value.toString());
},
),
),
),
RaisedButton(
onPressed: () {
if (_myKey.currentState.validate()) {
_myKey.currentState.save();
} else {
}
},
child: Text('Submit'),
)
],
);
}