import * as React from 'react'; import dayjs from 'dayjs'; import { useForkRef } from '@mui/material/utils'; import Button from '@mui/material/Button'; import CalendarTodayRoundedIcon from '@mui/icons-material/CalendarTodayRounded'; import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'; import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'; import { DatePicker } from '@mui/x-date-pickers/DatePicker'; import { useParsedFormat, usePickerContext, useSplitFieldProps, } from '@mui/x-date-pickers'; function ButtonField(props) { const { forwardedProps } = useSplitFieldProps(props, 'date'); const pickerContext = usePickerContext(); const handleRef = useForkRef(pickerContext.triggerRef, pickerContext.rootRef); const parsedFormat = useParsedFormat(); const valueStr = pickerContext.value == null ? parsedFormat : pickerContext.value.format(pickerContext.fieldFormat); return ( ); } export default function CustomDatePicker() { const [value, setValue] = React.useState(dayjs('2023-04-17')); return ( setValue(newValue)} slots={{ field: ButtonField }} slotProps={{ nextIconButton: { size: 'small' }, previousIconButton: { size: 'small' }, }} views={['day', 'month', 'year']} /> ); }