You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Material-UI Date/TimePicker的日历图标并保留原有校验功能

enter image description here
enter image description here

解决方案

你只需要给KeyboardDatePicker组件新增keyboardIcon={null}属性,即可直接隐藏日历图标,该操作不会改动组件的核心逻辑,原有校验功能完全不受影响。

修改后的代码如下:

<KeyboardDatePicker
  style={{ margin: 0, marginRight: '12px' }}
  minDate={defaultValues.id ? undefined : Date.now()}
  disableToolbar
  inputVariant='outlined'
  variant='inline'
  margin='normal'
  fullWidth
  format='yyyy/MM/dd'
  value={watch('date')}
  onChange={value => setValue('date', value)}
  {/* 新增以下属性隐藏日历图标 */}
  keyboardIcon={null}
/>

如果你使用的是较旧版本的Material-UI,上述属性不生效,可以改用InputProps配置移除尾部图标:

<KeyboardDatePicker
  style={{ margin: 0, marginRight: '12px' }}
  minDate={defaultValues.id ? undefined : Date.now()}
  disableToolbar
  inputVariant='outlined'
  variant='inline'
  margin='normal'
  fullWidth
  format='yyyy/MM/dd'
  value={watch('date')}
  onChange={value => setValue('date', value)}
  InputProps={{
    endAdornment: null
  }}
/>
注意事项

两种方案都仅移除了日历图标的渲染,组件内置的日期格式校验、可选范围校验、值双向绑定等逻辑完全保留,不会对原有功能产生影响。

内容的提问来源于stack exchange,提问作者janadari ekanayaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:15:05