@MuradSky

Не записывается значение react-datepicker в модальном окне react-modal в safari, не работает?

В браузере safari не работает react-date-picker при открытии на модальном окне react-modal, т.е. при изменении значений в датапикере не происходит рендеригна в инпуте датапикер, в чём может быть причина и как можно его решить?

пример такого компонента: https://codesandbox.io/s/react-date-picker-forked-...
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 2
Вот так все прекрасно работает
const change = (e) => {
    // console.log(e)
    onChange(e);
};
Ответ написан
Комментировать
@Viarll
Есть issue (1, 2) с подобной проблемой на Safari у react-date-picker. Но решения официального вроде как и нет(хотя был PR).
  • Есть неофициальное решение для 3.5.0, для этого придется поправить код пакета.
  • Либо отказаться от модалки и реализовать по другому. Попробовать свой вариант.
  • Либо выбрать другой date picker.
  • Либо, если не к спеху, самому починить и оформить PR для пакета.


Также
formatBirthday ошибочно конвертирует дату из input'а

Имея такой код
const change = (e) => {
    console.log("e = ", e);
    console.log("formatBirthday(e) = ", formatBirthday(e));
    console.log("new Date(formatBirthday(e)) = ", new Date(formatBirthday(e)));
    console.log("new Date(e) = ", new Date(e));
    onChange(new Date(formatBirthday(e)));
  };

Выбираем дату, где день больше 12 и получаем Error на странице, а в консоли:

e = Tue Aug 30 2022 00:00:00 GMT+0700 (GMT+07:00)
formatBirthday(e) = 30.08.2022
new Date(formatBirthday(e)) = Invalid Date
new Date(e) = Tue Aug 30 2022 00:00:00 GMT+0700 (GMT+07:00)
The above error occurred in the component:
Could not consume error:
Error: Something is *really* wrong.


Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы