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

如何正确设置MUI-X DatePicker中DatePickerProps的泛型类型?

解决MUI DatePickerProps泛型类型问题

你当前使用AdapterDateFns作为日期适配器,对应的原生日期类型是JavaScript的Date对象,因此应该将DatePickerProps的泛型参数设置为Date,而非unknown。

修改后的组件代码如下:

function CustomDatePicker(props: DatePickerProps<Date> & React.RefAttributes<HTMLDivElement>) {
  return (
    <StyledDatePicker
      disableHighlightToday
      format={DEFAULT_DATE_FORMAT}
      slots={{
        openPickerIcon: IconCalendar,
      }}
      {...props}
    />
  );
}

这样修改后,onChange回调的value类型会自动推导为Date | null,使用时无需再手动做类型断言:

<CustomDatePicker
  onChange={(value) => {
    onChangeDate(value); // 直接使用,类型已正确推导
  }}
/>

原因在于AdapterDateFns内部基于原生Date对象处理日期逻辑,将泛型指定为Date后,MUI的DatePicker组件会自动匹配适配器对应的日期类型,确保所有回调的参数类型准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 06:43:17