CodeSandBox的链接:codesandbox.io/s/dl5jft?file=/demo.tsx
我不希望用户通过键盘编辑日期,我希望他们从日期选择器模式选择日期,如何禁用此?
,
我使用了ReadOnly属性,但它禁用了日期选择本身,请帮助当我做readOnly时,它禁用了整个输入,这使我无法打开模式来选择日期
<GlobalStyle />
<CalendarContainer>
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DatePicker
value={calendarVal}
onChange={(newValue) => {
handleChange(newValue);
}}
disabled={disabled}
inputFormat="dd-MM-yyyy"
renderInput={(params) => (
<TextField
// eslint-disable-next-line react/jsx-props-no-spreading
{...params}
name={name}
error={error}
disabled={disabled}
/>
)}
/>
</LocalizationProvider>
</CalendarContainer>
4条答案
按热度按时间c3frrgcw1#
为了防止用户键盘操作,您可以将
onKeyDown
事件的功能设置为preventDefault
并将其分配给TextField
:wsxa1bj12#
对我来说,在latest @mui 5中,其他解决方案都无法正常工作。唯一对我有效的解决方案是:
6xfqseft3#
我做了两件事来解决这个问题:
1-设置渲染输入TextField为
readOnly
=〉no typing2-add sx of TextField
caretColor: 'transparent'
=〉隐藏插入符号rfbsl7qr4#
对于@mui/x-date-pickers”:“^6.1.0”: