[flutter] 플러터 DatePicker에서 특정 요일 제한하기
플러터의 DatePicker를 사용할 때, 특정 요일만 선택할 수 있도록 제한하고 싶을 때가 있을 수 있습니다. 예를 들어, 매주 특정 요일에만 약속이 있는 상황이라면 해당 요일 이외의 날짜를 선택하지 못하도록 설정하고 싶을 수 있습니다.
이를 위해서는 ` selectableDayPredicate` 속성을 사용하여 DatePicker가 보여줄 수 있는 날짜를 제한할 수 있습니다.
아래는 실제 예제 코드입니다.
DateTime _selectedDate = DateTime.now();
bool _isSelectableDate(DateTime date) {
// 월요일(1)과 화요일(2)만 선택 가능하도록 설정
return date.weekday == 1 || date.weekday == 2;
}
void _showDatePicker(BuildContext context) {
showDatePicker(
context: context,
initialDate: _selectedDate,
firstDate: DateTime(2022),
lastDate: DateTime(2023),
selectableDayPredicate: _isSelectableDate,
).then((pickedDate) {
if (pickedDate != null && pickedDate != _selectedDate) {
setState(() {
_selectedDate = pickedDate;
});
}
});
}
위 예제 코드에서는 _isSelectableDate
함수를 사용하여 월요일(1)과 화요일(2)만 선택 가능하도록 설정하고 있습니다.
이렇게 하면 DatePicker에서 사용자가 선택할 수 있는 날짜를 제한함으로써 특정 요일에만 약속이 있는 상황을 고려해 보다 유용한 앱을 구현할 수 있습니다.
더 많은 자세한 정보는 Flutter 공식 문서를 참고하시기 바랍니다.