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

Material UI DatePicker(TypeScript)报错:Property 'target' does not exist on type 'Dayjs'

Material UI DatePicker(TypeScript)报错:Property 'target' does not exist on type 'Dayjs'

嘿,我来帮你搞定这个问题~

你遇到这个TS警告的核心原因很简单:Material UI的DatePicker(尤其是基于Dayjs的版本)的onChange回调参数,根本不是你习惯的DOM事件对象!它直接返回的就是用户选中的Dayjs日期实例,所以你去访问e.target自然会报错——这个实例里根本没有target属性呀。

原来的代码里你写了:

onChange={(e) => setReminderDate(e.target.value.toISOString())}

其实只需要直接对传入的Dayjs对象调用toISOString()就可以了,修改后的代码应该是这样:

<MuiDatePicker
  id="reminderDate"
  name="reminderDate"
  label="Reminder Date"
  fullWidth={true}
  value={reminderDate}
  // 这里直接用Dayjs实例调用toISOString,不需要target
  onChange={(date) => setReminderDate(date.toISOString())}
  views={["month", "year", "day"]}
  disablePast={true}
  sx={{ paddingBottom: "12px" }}
/>

如果担心用户清空日期导致date为null的情况,还可以加个简单的判断,让代码更严谨:

onChange={(date) => setReminderDate(date ? date.toISOString() : '')}

另外小提醒下,你可以把参数名从e改成date,这样代码可读性会更高,一眼就能知道这个参数是日期实例,而不是事件对象~

备注:内容来源于stack exchange,提问作者user29826116

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 11:54:30