Как локализовать ввод средства выбора даты MUI (v5) или установить заполнитель

#reactjs #datepicker #material-ui

Вопрос:

Я должен использовать MUI5 DesktopDatePicker, как показано в руководстве здесь https://mui.com/components/pickers/#react-components .

Когда я очищаю выбранную дату, я вижу дд / мм / гггг в качестве заполнителя в качестве входного формата выбора даты. Я хотел бы видеть заполнитель на основе набора локализации, например, gg / mm / aaaa для итальянской локали. Возможно ли это? Даже установка пользовательского заполнителя?

Вот песочница, созданная непосредственно из демонстрации MUI5.

https://codesandbox.io/s/desktopdatepicker-jfqk7

Ответ №1:

Вы должны изменить заполнитель текстового поля при renderInput без перезаписи данных в params.inputsProps. Это будет ваш новый DesktopDatePicker.

 <DesktopDatePicker
    label="Date desktop"
    inputFormat="dd/MM/yyyy"
    value={value}
    onChange={handleChange}
    renderInput={(params) => (
      <TextField
        {...params}
        inputProps={
          { 
            ...params.inputProps, 
            placeholder: "dd/mm/aaaa" 
          }
        }
      />
    )}
/>
 

Это ссылка для примера с фиксированным CodeSandbox, компонент выбора даты включен demo.js

Редактировать DesktopDatePicker

Комментарии:

1. Спасибо за ответ! В вашем коде работает заполнитель, но не выбор даты из календаря, я внес небольшое редактирование во входные строки вашего кода.

2. @200Matteo Я ссылался на пример fixed codesandbox. Если вы вводите входные данные без ссылки на это свойство параметров, приложение завершит работу.