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

升级Material UI 5后报找不到@mui/lab/AdapterDateFns,Timepicker无法使用

MUI v5升级后TimePicker报错找不到AdapterDateFns解决方案
  • 根因说明:MUI v5 beta版本之后已正式将npm包命名空间从@material-ui/*迁移为@mui/*,你当前安装的仍是旧命名空间的依赖,与代码中@mui/lab的导入路径不匹配;同时v5后续版本已将时间日期选择器相关组件及适配器从lab包拆分至@mui/x-date-pickers独立包中,旧导入路径已废弃。
  • 修复步骤:
  1. 卸载旧命名空间的无效依赖
# npm 用户执行
npm uninstall @material-ui/core @material-ui/lab
# yarn 用户执行
yarn remove @material-ui/core @material-ui/lab
  1. 安装新命名空间的完整依赖
# npm 用户执行
npm install @mui/material @mui/lab @mui/x-date-pickers date-fns
# yarn 用户执行
yarn add @mui/material @mui/lab @mui/x-date-pickers date-fns
  1. 修正代码中的导入和组件引用
    将原导入路径替换为新的x-date-pickers路径,同时需要用LocalizationProvider全局包裹使用时间选择器的业务组件,示例代码如下:
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import AdapterDateFns from '@mui/x-date-pickers/AdapterDateFns';
import { TimePicker } from '@mui/x-date-pickers/TimePicker';
import TextField from '@mui/material/TextField';

function MyTimePicker() {
  const [timeValue, setTimeValue] = React.useState(null);

  return (
    <LocalizationProvider dateAdapter={AdapterDateFns}>
      <TimePicker
        label="选择时间"
        value={timeValue}
        onChange={(newVal) => setTimeValue(newVal)}
        renderInput={(params) => <TextField {...params} />}
      />
    </LocalizationProvider>
  );
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:54:03