Не удается заставить работать Date-Picker из материала.


19

По какой-то причине я не могу заставить сборщик материалов работать. Каждый раз, когда указатель даты отображается в React, выдается следующая ошибка:

RangeError: Строка формата содержит символ латинского алфавита без экранирования n

Я создал стек стека с помощью только средства выбора даты ( https://stackblitz.com/edit/react-6ma6xd?embed=1&file=index.js ), и даже там появляется ошибка. Что я делаю неправильно? Я думаю, что я следовал всем инструкциям из руководства по установке.

Ссылка на материал-интерфейс / подборщик: https://material-ui-pickers.dev/


Тем временем я также вижу, что они обновили свою документацию.
NewVigilante

1
У меня такая же проблема. Испытав это, я уже могу сказать, что путь, который лежит впереди, долго использует эту платформу.
Мосия Табо

Ответы:


19

У меня была такая же проблема, я нашел это в github:

https://github.com/mui-org/material-ui-pickers/issues/1440, поэтому я установил "@ date-io / date-fns": "^ 1.3.13" и запустил его


Вот и все, спасибо! Они должны действительно обновить там документацию или, по крайней мере, оставить комментарий там, пока это не будет исправлено.
NewVigilante


1

Похоже, что пример material-ui-pickers использует следующие версии зависимостей (которые отличаются от вашей):

"@date-io/date-fns": "1.0.1",
"material-ui-pickers": "2.1.1",

В вашем примере вы используете более новую версию @ date-io с устаревшей версией material-ui-pickers:

"@date-io/date-fns": "2.0.1",
"@material-ui/pickers": "3.2.8",

Вы можете (1) установить свои версии в соответствии с примером или (2) использовать последнюю версию материала-ui-pickers и выполнить форматирование даты, используя пользовательскую функцию вместо DateFnsUtils.

Надеюсь это поможет.


Я думаю, что я использую последние пакеты. Похоже, что те, которые вы отправляете в качестве предложения, устарели, и я бы не хотел использовать их в производстве. Все пакеты, которые я использовал, - от запуска команд в руководстве по установке ( material-ui-pickers.dev/getting-started/installation )
NewVigilante


1

Я попробовал ответы выше, это не сработало, но они дали мне ключ к решению, вам придется сделать полный переход на более раннюю версию, если предыдущие ответы не сработали

npm install @material-ui/pickers@3.2.8
npm install @date-io/date-fns@1.3.13
npm install date-fns@2.8.1

1

Просто используйте momentJS: npm i @ date-io / moment @ 1.x moment

import MomentUtils from '@date-io/moment';

function App() {
  return (
    <MuiPickersUtilsProvider utils={MomentUtils}>

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.