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

MUI X Date Range Picker异常及安装报错问题求助

解决MUI X日期范围选择器依赖与运行问题

问题根源

@material-ui/pickers 已被官方废弃,现在MUI的日期类组件统一归到 MUI X 生态下,且MUI X版本必须与你项目中的@mui/material版本严格匹配,版本不兼容是导致报错的核心原因。

修复步骤

  1. 清理冲突依赖
    先卸载已安装的错误包:

    npm uninstall @material-ui/pickers
    
  2. 安装匹配版本的MUI X依赖
    先确认你项目中@mui/material的版本:

    npm list @mui/material
    
    • 如果是MUI v5.x:安装MUI X v6.x稳定版
      npm install @mui/x-date-pickers-pro @mui/x-date-pickers dayjs
      
      (dayjs是日期适配器,也可替换为moment、date-fns,选你项目常用的即可)
    • 如果是MUI v4.x:只能安装MUI X v5.x版本(v6不再兼容v4)
      npm install @mui/x-date-pickers-pro@5.0.20 @mui/x-date-pickers@5.0.20 dayjs
      
  3. 修正代码导入与结构
    官网部分旧示例可能存在导入路径错误,以下是可直接运行的完整示例(以Dayjs适配器为例):

    import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
    import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
    import { DateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';
    import { TextField } from '@mui/material';
    
    export default function DateRangePickerDemo() {
      return (
        <LocalizationProvider dateAdapter={AdapterDayjs}>
          <DateRangePicker
            startText="开始日期"
            endText="结束日期"
            renderInput={(startProps, endProps) => (
              <>
                <TextField {...startProps} />
                <TextField {...endProps} sx={{ ml: 2 }} />
              </>
            )}
          />
        </LocalizationProvider>
      );
    }
    
  4. 修复代码沙箱错误
    官网沙箱报错通常是依赖版本未自动匹配,手动修改沙箱的package.json:

    • 将@mui/x-date-pickers-pro、@mui/x-date-pickers的版本改为与你项目MUI匹配的版本
    • 添加对应的日期适配器(如dayjs)

可用的稳定版本组合示例

MUI版本MUI X Date Range Picker版本适配器版本
v5.14.18@mui/x-date-pickers-pro@6.18.2dayjs@1.11.10
v4.12.4@mui/x-date-pickers-pro@5.0.20dayjs@1.11.10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:55:26