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

如何在react-datetime组件中禁用输入框的键盘输入功能

react-datetime 禁用输入框键盘输入解决方案

直接通过组件自带的inputProps属性给内部输入框设置只读属性,即可禁止键盘输入,避免日期解析报错,修改后的代码如下:

<Datetime 
  initialValue='' 
  timeFormat={false} 
  dateFormat="YYYY" 
  onChange={(date) => setYear(date.year())}
  inputProps={{
    readOnly: true
  }}
/>

可选补充配置:

  • 如需彻底拦截所有键盘事件,可在inputProps中新增onKeyDown: (e) => e.preventDefault(),双重拦截输入行为
  • 如不需要展示输入框,可直接给Datetime组件添加input={false}属性,直接渲染年份选择面板,完全规避输入相关问题

报错原因说明:你当前的报错是因为仅配置了dateFormat="YYYY",组件默认允许输入时,任意不符合年份格式的键盘输入都会触发内部日期解析逻辑异常,禁用输入框的手动输入能力后,仅通过面板选择符合格式的年份值,即可解决报错问题。

内容的提问来源于stack exchange,提问作者SEMER BEN SALEM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:30:06