Я использую этот флаттер календарь плагинов . Нажатие на дату должно добавить значок в календарь на выбранную дату и сохранить дату в Firestore. Плагин имеет объект типа EventList<Event>
, называемый _markedDateMap
, где дата является key
карты. Я могу успешно добавить значок в календарь, используя свойство onDayPressed для виджета CalendarCarousel<Event>
. Я не реализовал сохранение объекта DateTime в Firestore. Во-первых, я хочу, чтобы даты сохранялись (в данный момент нажатие кнопки «Назад» и возврата удаляет все выбранные даты). Это должно быть сделано в методе initState
с использованием setState ()? Я пытаюсь добавить даты на карту, чтобы она могла содержать выбранные даты. Все приведенные выше методы и карты используются в данном примере плагина . Даты должны храниться в массиве в Firestore. В моем Firestore это
AuthProvider.of(context).userData.availableDates
где доступные даты - это массив.
Вот мой onDayPressed
onDayPressed: (DateTime date, List<Event> events) {
_currentDate=date;
if (!_markedDateMap.events.containsKey(date)) {
_markedDateMap.add(date,Event(date: date,title: 'Event',icon: _eventIcon));
}else{
_markedDateMap.remove(date,Event(date: date,title: 'Event',icon: _eventIcon));
print('removed + $_markedDateMap');
;
}
},