DatePicker MUI, как сделать недели, начинающиеся с понедельника

Я использую DatePicker из MUI v6 (https://mui.com/x/react-date-pickers/date-picker/). И в настоящее время я заметил, что недели в календаре начинаются с воскресенья, но мне нужно, чтобы они начинались с понедельника. Любая помощь будет очень признательна, потому что я не нашел решения этой проблемы в Интернете (только решения для старых версий). В качестве локализатора использую moment.js

import { LocalizationProvider } from '@mui/x-date-pickers';
import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import moment from 'moment';

...

<LocalizationProvider dateAdapter = {AdapterMoment}>

...

<DatePicker 
    name = "date"
    value = {dateValue}
    format = "DD/MM/YYYY"
    onChange = {(newValue) => {   
        setDateValue(newValue); 
        setFieldValue('date', dateValue.toDate());
    }}
    slotProps = {{
        textField: { size: 'small' },
        previousIconButton: { color: 'secondary' },
        nextIconButton: { color: 'secondary' },
        openPickerButton: { color: 'secondary' },
    }}
    dayOfWeekFormatter = {(day) => `${day}`}
    calendarStartDay = {1}
/>

Вот как выглядит мой календарь: https://i.stack.imgur.com/2vO43.png

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
497
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как я вижу в документе, сейчас он не поддерживается.

Но вы можете настроить его, изменив первый день недели момента

moment.updateLocale("en", {
  week: {
    dow: 1
  }
});

https://codesandbox.io/s/infallible-tree-d6b0je

Для справки https://github.com/mui/mui-x/issues/7670

К сожалению, я уже пробовал это, и это не работает так, как должно. Это действительно меняет первый день недели в верхней части календаря, но даты остаются там, где они были, поэтому остаются на неправильных позициях. Например, если сегодня суббота 15, и я использую этот метод, чтобы изменить первый день, тогда он становится воскресеньем 15 (по какой-то причине перемещаются только названия дней недели, но не даты: C)

jix 15.04.2023 17:10

Но я вижу, что это работает в вашем примере, и я не понимаю, почему это не работает должным образом: o

jix 15.04.2023 17:12

Ну, я понятия не имею, почему это так, но теперь это работает для меня, хотя я почти уверен, что это действительно сработало, как я описал ранее. Большое спасибо за то, что заставили меня попробовать это снова и за то, что показали, что это работает, как и ожидалось, в вашем примере, поэтому это заставило меня попробовать еще раз!

jix 15.04.2023 17:16

Другие вопросы по теме