为 mui-x datepicker 使用 mui 样式
Use mui styled for mui-x datepicker
我想自定义日期选择器并尝试从 mui-x 日期选择器的输入中删除填充,但没有任何效果。
我是不是哪里做错了,还是 mui-x 不支持样式?
import { styled } from '@mui/material/styles';
import { DesktopDatePicker, LocalizationProvider } from '@mui/x-date-pickers';
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
import { TextField } from '@mui/material';
const DateDisplay = styled(DesktopDatePicker)(({ theme }) => ({
'& input':{
padding: 0,
},
}));
return (
<ModalDialog>
<div>
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DateDisplay
value={new Date()}
readOnly
onChange={() => {}}
renderInput={(params) => <TextField {...params} />}
></DateDisplay>
</LocalizationProvider>
</div>
</ModalDialog>
);
};
您可以检查日期选择器元素并查看其应用的 classes。
然后使用 class
在您的“样式化”元素中命名,您可以自定义您的 mui 元素。
为了清楚起见,我附上了检查。对于这张照片,它将是:
const DateDisplay = styled(DesktopDatePicker)(({ theme }) => ({
'& .css-1uvydh2':{
padding: 0,
},
}));
如果还是不行,试试 sx={{}}
prop.
<DateDisplay
value={new Date()}
readOnly
onChange={() => {}}
renderInput={(params) => (
<TextField
{...params}
sx={{
'.MuiInputBase-input': {padding: 0},
}}
/>
)}
></DateDisplay>
使用'.MuiInputBase-input'class,您可以为您的 DatePicker 自定义 <TextField>
呈现输入。(您也可以在图片中看到它)
我想自定义日期选择器并尝试从 mui-x 日期选择器的输入中删除填充,但没有任何效果。 我是不是哪里做错了,还是 mui-x 不支持样式?
import { styled } from '@mui/material/styles';
import { DesktopDatePicker, LocalizationProvider } from '@mui/x-date-pickers';
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
import { TextField } from '@mui/material';
const DateDisplay = styled(DesktopDatePicker)(({ theme }) => ({
'& input':{
padding: 0,
},
}));
return (
<ModalDialog>
<div>
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DateDisplay
value={new Date()}
readOnly
onChange={() => {}}
renderInput={(params) => <TextField {...params} />}
></DateDisplay>
</LocalizationProvider>
</div>
</ModalDialog>
);
};
您可以检查日期选择器元素并查看其应用的 classes。
然后使用 class 在您的“样式化”元素中命名,您可以自定义您的 mui 元素。 为了清楚起见,我附上了检查。对于这张照片,它将是:
const DateDisplay = styled(DesktopDatePicker)(({ theme }) => ({
'& .css-1uvydh2':{
padding: 0,
},
}));
如果还是不行,试试 sx={{}}
prop.
<DateDisplay
value={new Date()}
readOnly
onChange={() => {}}
renderInput={(params) => (
<TextField
{...params}
sx={{
'.MuiInputBase-input': {padding: 0},
}}
/>
)}
></DateDisplay>
使用'.MuiInputBase-input'class,您可以为您的 DatePicker 自定义 <TextField>
呈现输入。(您也可以在图片中看到它)