#android #ios #flutter #datetime #dart
Вопрос:
Я пытаюсь создать адаптивный выбор даты и времени для Android и Ios,
DateTimeField(
controller: date,
focusNode: _focusNodeDate,
validator: (value){
if(value == null){
return 'Ce champ est requis';
};
return null;
},
decoration: InputDecoration(
labelText: 'Date de naissance',
labelStyle: TextStyle(
fontSize: getProportionateScreenWidth(20),
color: Colors.grey,
),
),
format: format,
onShowPicker: (context, currentValue) {
if(Platform.isAndroid){
return showDatePicker(
context: context,
firstDate: DateTime(1900),
initialDate: currentValue ?? DateTime.now(),
lastDate: DateTime(2100)
);
} else if(Platform.isIOS) {
return CupertinoDatePicker(onDateTimeChanged: (datetime){});
}
},
)
и я получаю эту ошибку
ошибка: Возвращаемый тип «CupertinoDatePicker» не является «Будущим», как того требует контекст закрытия. (return_of_invalid_type_from_closure в [app_isophro] libaddProfileaddprofile.dart:232)
Ответ №1:
Вам нужно обернуть свой виджет CupertinoDatePicker
чем-то, что показывает его и возвращает значение, например:
showModalBottomSheet<DateTime>(
context: context,
builder: (context) => CupertinoDatePicker(onDateTimeChanged: (datetime){}))
``
Комментарии:
1. как добавить кнопку для закрытия модального окна, например, кнопку «готово»