[Flutter] showDatePicker 특정 날짜 비활성화 하기 (selectableDayPredicate)
6106 단어 flutterUIdatepickerUI
showDatePicker 특정 날짜 비활성화 하기
작업을 하다 보면 DatePicker
에서 특정 날짜는 선택이 불가능하게 만들고 싶을 때가 있어요.
그럴 때 이 코드를 적용하면 됩니다.
showDatePicker 파라미터
Future<DateTime?> showDatePicker({
required BuildContext context,
required DateTime initialDate,
required DateTime firstDate,
required DateTime lastDate,
DateTime? currentDate,
DatePickerEntryMode initialEntryMode = DatePickerEntryMode.calendar,
SelectableDayPredicate? selectableDayPredicate,
String? helpText,
String? cancelText,
String? confirmText,
Locale? locale,
bool useRootNavigator = true,
RouteSettings? routeSettings,
TextDirection? textDirection,
TransitionBuilder? builder,
DatePickerMode initialDatePickerMode = DatePickerMode.day,
String? errorFormatText,
String? errorInvalidText,
String? fieldHintText,
String? fieldLabelText,
})
이중 특정 날짜를 비활성화 하는 데 사용할 파라미터는 selectableDayPredicate
입니다.
selectableDayPredicate: (각 항목의 날짜) {
//true: selectable
//false: unSelectable
return booltype;
}
예시
Future<DateTime?> selectedDate = showDatePicker(
context: Get.context!,
initialDate: DateTime.now(),
firstDate: DateTime.now(),
lastDate: DateTime.utc(2025, 12, 31),
selectableDayPredicate: (date) {
//2022년 3월 31일만 비활성화
if (date == DateTime(2022, 3, 31))
return false;
else
return true;
}
);
3월 31일이 성공적으로 비활성화 됐습니다.
28일 이전 날짜가 비활성화 되어있는 이유: firstDate
가 DateTime.now()
로 설정되어있어 오늘 날짜부터 선택 가능
Author And Source
이 문제에 관하여([Flutter] showDatePicker 특정 날짜 비활성화 하기 (selectableDayPredicate)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@solradev/Flutter-showDatePicker-특정-날짜-비활성화-하기-selectableDayPredicate저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)