Не удается заставить работать Date-Picker из материала. - PullRequest
19 голосов
/ 05 января 2020

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

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

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

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

Ответы [ 7 ]

18 голосов
/ 06 января 2020

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

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

9 голосов
/ 06 января 2020

Понизьте ваш пакет до @date-io@^1.3.13

npm i @date-io/date-fns@1.3.13

1 голос
/ 27 марта 2020

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

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

function App() {
  return (
    <MuiPickersUtilsProvider utils={MomentUtils}>
1 голос
/ 11 февраля 2020

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

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 голос
/ 05 января 2020

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

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

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

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

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

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

0 голосов
/ 06 февраля 2020

вам нужно установить

npm i @ date-io / date-fns@1.x date-fns

с официального сайта. https://material-ui-pickers.dev/getting-started/installation и следуйте их инструкциям.

0 голосов
/ 27 января 2020

это связано с конфликтом материалов ui picker v3 с @ date-io, можете посетить официальный сайт

Важно: Для материалов-ui-pickers v3 используйте v1.x версию адаптеров @ date-io .

...