Как отображается помеченная дата в календаре? - PullRequest
0 голосов
/ 28 апреля 2020

Я создал календарь в собственном приложении и хотел бы отобразить синий круг вокруг даты, на которую я нажал. Но у меня не получается показать это.

Это мой код:

 const [currentDate, setCurrentDate] = useState(moment()
     .utcOffset('+01:00')
     .format('YYYY-MM-DD'));
 const [dateLimited, setDateLimited] = useState(moment()
    .utcOffset('+01:00')
    .format('YYYY-MM-DD'));

return(
     <Calendar markedDates={{currentDate: {selected: true} }} style={{ width: wp('80%'), height: hp('30%') }} minDate={'2020-01-01'} maxDate={dateLimited} onDayPress={(day)=> setCurrentDate( moment(day.dateString).format('YYYY-MM-DD'))}></Calendar>
);

Странно то, что, когда я пишу дату прямо, как это, она работает:

<Calendar markedDates={{'2020-04-28': {selected: true} }} style={{ width: wp('80%'), height: hp('30%') }} minDate={'2020-01-01'} maxDate={dateLimited} 
                onDayPress={(day)=> setCurrentDate( moment(day.dateString).format('YYYY-MM-DD'))}></Calendar>

И если я отображаю в console.log currentDate, я получил правильную дату:

2020-04-28

Не могли бы вы мне помочь?

Заранее спасибо

1 Ответ

1 голос
/ 28 апреля 2020

См. Первый комментарий к этому вопросу SO: JavaScript установить ключ объекта по переменной

Чтобы оценить currentDate вместо того, чтобы просто использовать его в качестве ключа, вы должны поставить квадратные скобки вокруг: markedDates={[currentDate]: {selected: true}}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...