Z jakiegoś powodu nie mogę uruchomić selektora dat materiałów . Za każdym razem, gdy datepicker jest renderowany w React, generowany jest następujący błąd:
RangeError: Łańcuch formatu zawiera nieskalowany znak alfabetu łacińskiego
n
Utworzyłem stackblitz za pomocą tylko datepicker ( https://stackblitz.com/edit/react-6ma6xd?embed=1&file=index.js ) i nawet tam pojawia się błąd. Co ja robię źle? Myślę, że postępowałem zgodnie ze wszystkimi instrukcjami z przewodnika instalacji.
Link do material-ui / pickers: https://material-ui-pickers.dev/
javascript
reactjs
material-ui
material-ui-pickers
NewVigilante
źródło
źródło
Odpowiedzi:
Miałem ten sam problem, znalazłem to w kwestiach github:
https://github.com/mui-org/material-ui-pickers/issues/1440 więc zainstalowałem „@ date-io / date-fns”: „^ 1.3.13” i działałem
źródło
Zmień pakiet na
@date-io@^1.3.13
npm i @date-io/[email protected]
źródło
Wygląda na to, że w przykładzie materiałów i interfejsów użytkownika używane są następujące wersje zależności (inne niż twoje):
W twoim przykładzie używasz nowszej wersji @ date-io z przestarzałą wersją pickerów materiałów:
Możesz (1) ustawić wersje tak, aby pasowały do przykładu lub (2) użyć najnowszej wersji selektorów materiałów i przeprowadzić formatowanie daty za pomocą funkcji niestandardowej zamiast DateFnsUtils.
Mam nadzieję że to pomoże.
źródło
musisz zainstalować
z oficjalnej strony. https://material-ui-pickers.dev/getting-started/installation i postępuj zgodnie z ich instrukcjami.
źródło
Próbowałem odpowiedzi powyżej, ale to nie zadziałało, ale dały mi wskazówkę co do rozwiązania, będziesz musiał dokonać pełnego obniżenia wersji, jeśli poprzednie odpowiedzi nie działają dla ciebie
źródło
Wystarczy użyć momentJS: npm i @ date-io / moment @ 1.x moment
źródło
wynika to z istotnego konfliktu selektorów interfejsu użytkownika v3 z @ date-io, może odwiedzić oficjalną stronę
Ważne: w przypadku materiałów wybierających interfejs użytkownika w wersji 3 należy użyć adapterów @ date-io w wersji 1.x.
źródło