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

Material UI Jalali日历日期选择器error prop类型报错求助

解决MUI Jalali日期选择器Error属性类型错误问题

问题根源

你遇到的报错是因为MobileDatePicker传递给renderInput的params参数中,自带的error属性是对象类型(而非布尔值)。当你直接展开{...params}时,这个对象会被传递给TextField,进而传入其内部的InputBase组件,违反了InputBase要求error为布尔值的类型约束。而普通TextField使用时没有这种外部传入的对象类型error,因此可以正常运行。

解决方案

解构params时排除掉自带的error属性,再手动传入你需要的布尔值校验结果:

<LocalizationProvider dateAdapter={AdapterJalali}>
  <MobileDatePicker
    label={label}
    value={value}
    onChange={(newValue) => {
      setValue(newValue);
      onChange({
        label: new Intl.DateTimeFormat("fa-u-ca-persian-nu-latn", {
          dateStyle: "short",
        }).format(newValue),
      });
    }}
    renderInput={({ error: _, ...restParams }) => (
      <TextField
        color="colorPrimer"
        {...restParams}
        fullWidth
        sx={{ marginBlock: "1em" }}
        error={!!(errors && errors[name])}
        helperText={errors && errors[name] ? `فیلد ${label} را پرکنید` : ""}
      />
    )}
  />
</LocalizationProvider>

说明

  • 通过{ error: _, ...restParams }解构params,将自带的对象类型error丢弃,只保留其他有用参数。
  • !!(errors && errors[name])确保最终传递给TextField的error是严格布尔值,符合组件要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 03:05:35