---
group:
title: 迁移
order: 2
order: 0
title: 从 v5 到 v6
---
本文档将帮助你从 antd `5.x` 版本升级到 antd `6.x` 版本。本次升级为一次技术升级,虽然组件 API 保持兼容,但在升级前您需要确保您的环境满足新的要求。
## 升级准备
1. 请先升级到 **v5 最新版本**,按照控制台 warning 信息处理已废弃 API。
2. 确认项目可以运行在 **React 18 及以上**版本,v6 不再支持 React 17 及以下。
3. v6 仅支持现代浏览器,并默认使用 **CSS variables**,因此不再支持 IE。
```bash
npm install --save antd@6
# 或
yarn add antd@6
# 或
pnpm add antd@6
```
## v6 有哪些不兼容的变化
### React 版本支持调整
- `antd@6` 要求 React 版本 >= 18,不再支持 React 17 及以下。
- 不再需要 `@ant-design/v5-patch-for-react-19` 来兼容 React 19,如果使用可以移除该依赖。
```diff
- import '@ant-design/v5-patch-for-react-19';
```
### @ant-design/icons 版本升级
- `antd@6` 要求 `@ant-design/icons` 版本 >= 6.0.0。
- ⚠️ **重要**:`@ant-design/icons@6` 与 `antd@5` 不兼容,请确保同时升级两个包。
- 如果你的项目显式依赖 `@ant-design/icons`,需要同步升级到 v6 版本。
```bash
npm install --save @ant-design/icons@6
# 或
yarn add @ant-design/icons@6
# 或
pnpm add @ant-design/icons@6
```
如果你在升级过程中遇到构建错误,请检查 `@ant-design/icons` 版本是否与 `antd` 版本匹配。
### DOM 调整
- v6 对大量组件的 DOM 结构进行了升级和优化,以提升可维护性和一致性。
- 对于大多数正常使用 antd 样式的项目,这不会产生影响。
- ⚠️ 如果你的项目中存在针对组件内部 DOM 节点的自定义样式(例如依赖特定选择器或层级结构),升级后可能需要手动检查并调整样式。
### API 调整
⚠️ 下列 API 已被标记为**废弃(Deprecated)**。尽管这些属性当前仍可使用,但控制台会提示弃用警告,并将在 7.0 中被移除。为保持代码的可维护性和兼容性,**建议尽快迁移到对应的替代属性**。
- `Alert`
- `closeText` 弃用,变为 `closable.closeIcon`。
- `message` 弃用,变为 `title`。
- `Anchor`
- `Anchor children` 弃用,变为 `items`。
- `AutoComplete`
- `dropdownMatchSelectWidth` 弃用,变为 `popupMatchSelectWidth`。
- `dropdownStyle` 弃用,变为 `styles.popup.root`。
- `dropdownClassName` 弃用,变为 `classNames.popup.root`。
- `popupClassName` 弃用,变为 `classNames.popup.root`。
- `dropdownRender` 弃用,变为 `popupRender`。
- `onDropdownVisibleChange` 弃用,变为 `onOpenChange`。
- `dataSource` 弃用,变为 `options`。
- `Avatar.Group`
- `maxCount` 弃用,变为 `max={{ count: number }}`。
- `maxStyle` 弃用,变为 `max={{ style: CSSProperties }}`。
- `maxPopoverPlacement` 弃用,变为 `max={{ popover: PopoverProps }}`。
- `maxPopoverTrigger` 弃用,变为 `max={{ popover: PopoverProps }}`。
- `BackTop`
- `BackTop` 弃用,变为 `FloatButton.BackTop`。
- `Breadcrumb`
- `routes` 弃用,变为 `items`。
- `Breadcrumb.Item` 和 `Breadcrumb.Separator` 弃用,变为 `items`。
- `Button.Group`
- `Button.Group` 弃用,变为 `Space.Compact`。
- `Button`
- `iconPosition` 弃用,变为 `iconPlacement`。
- `Calendar`
- `dateFullCellRender` 弃用,变为 `fullCellRender`。
- `dateCellRender` 弃用,变为 `cellRender`。
- `monthFullCellRender` 弃用,变为 `fullCellRender`。
- `monthCellRender` 弃用,变为 `cellRender`。
- `Card`
- `headStyle` 弃用,变为 `styles.header`。
- `bodyStyle` 弃用,变为 `styles.body`。
- `bordered` 弃用,变为 `variant`。
- `Carousel`
- `dotPosition` 弃用,变为 `dotPlacement`。
- `Cascader`
- `dropdownClassName` 弃用,变为 `classNames.popup.root`。
- `dropdownStyle` 弃用,变为 `styles.popup.root`。
- `dropdownRender` 弃用,变为 `popupRender`。
- `dropdownMenuColumnStyle` 弃用,变为 `popupMenuColumnStyle`。
- `onDropdownVisibleChange` 弃用,变为 `onOpenChange`。
- `onPopupVisibleChange` 弃用,变为 `onOpenChange`。
- `bordered` 弃用,变为 `variant`。
- `Collapse`
- `destroyInactivePanel` 弃用,变为 `destroyOnHidden`。
- `expandIconPosition` 弃用,变为 `expandIconPlacement`。
- `Collapse.Panel`
- `disabled` 弃用,变为 `collapsible="disabled"`。
- `ConfigProvider`
- `dropdownMatchSelectWidth` 弃用,变为 `popupMatchSelectWidth`。
- `DatePicker.RangePicker`
- `dropdownClassName` 弃用,变为 `classNames.popup.root`。
- `popupClassName` 弃用,变为 `classNames.popup.root`。
- `popupStyle` 弃用,变为 `styles.popup.root`。
- `bordered` 弃用,变为 `variant`。
- `onSelect` 弃用,变为 `onCalendarChange`。
- `DatePicker`
- `dropdownClassName` 弃用,变为 `classNames.popup.root`。
- `popupClassName` 弃用,变为 `classNames.popup.root`。
- `popupStyle` 弃用,变为 `styles.popup.root`。
- `bordered` 弃用,变为 `variant`。
- `onSelect` 弃用,变为 `onCalendarChange`。
- `Descriptions`
- `labelStyle` 弃用,变为 `styles.label`。
- `contentStyle` 弃用,变为 `styles.content`。
- `Divider`
- `type` 弃用,变为 `orientation`。
- `orientationMargin` 弃用,变为 `styles.content.margin`。
- `Drawer`
- `headerStyle` 弃用,变为 `styles.header`。
- `bodyStyle` 弃用,变为 `styles.body`。
- `footerStyle` 弃用,变为 `styles.footer`。
- `contentWrapperStyle` 弃用,变为 `styles.wrapper`。
- `maskStyle` 弃用,变为 `styles.mask`。
- `drawerStyle` 弃用,变为 `styles.section`。
- `destroyInactivePanel` 弃用,变为 `destroyOnHidden`。
- `width` 弃用,变为 `size`。
- `height` 弃用,变为 `size`。
- `Dropdown.Button`
- `Dropdown.Button` 弃用,变为 `Space.Compact + Dropdown + Button`。
- `Dropdown`
- `dropdownRender` 弃用,变为 `popupRender`。
- `destroyPopupOnHide` 弃用,变为 `destroyOnHidden`。
- `overlayClassName` 弃用,变为 `classNames.root`。
- `overlayStyle` 弃用,变为 `styles.root`。
- `placement: xxxCenter` 弃用,变为 `placement: xxx`。
- `Empty`
- `imageStyle` 弃用,变为 `styles.image`。
- `FloatButton`
- `description` 弃用,变为 `content`。
- `Image`
- `wrapperStyle` 弃用,变为 `styles.root`。
- `visible` 弃用,变为 `open`。
- `onVisibleChange` 弃用,变为 `onOpenChange`。
- `maskClassName` 弃用,变为 `classNames.cover`。
- `rootClassName` 弃用,变为 `classNames.root`。
- `toolbarRender` 弃用,变为 `actionsRender`。
- `Input.Group`
- `Input.Group` 弃用,变为 `Space.Compact`。
- `InputNumber`
- `bordered` 弃用,变为 `variant`。
- `addonAfter` 弃用,变为 `Space.Compact`。
- `addonBefore` 弃用,变为 `Space.Compact`。
- `Mentions`
- `Mentions.Option` 弃用,变为 `options`。
- `Menu`
- `children` 弃用,变为 `items`。
- `Modal`
- `bodyStyle` 弃用,变为 `styles.body`。
- `maskStyle` 弃用,变为 `styles.mask`。
- `destroyOnClose` 弃用,变为 `destroyOnHidden`。
- `Notification`
- `btn` 弃用,变为 `actions`。
- `message` 弃用,变为 `title`。
- `Progress`
- `strokeWidth` 弃用,变为 `size`。
- `width` 弃用,变为 `size`。
- `trailColor` 弃用,变为 `railColor`。
- `gapPosition` 弃用,变为 `gapPlacement`。
- `Select`
- `dropdownMatchSelectWidth` 弃用,变为 `popupMatchSelectWidth`。
- `dropdownStyle` 弃用,变为 `styles.popup.root`。
- `dropdownClassName` 弃用,变为 `classNames.popup.root`。
- `popupClassName` 弃用,变为 `classNames.popup.root`。
- `dropdownRender` 弃用,变为 `popupRender`。
- `onDropdownVisibleChange` 弃用,变为 `onOpenChange`。
- `bordered` 弃用,变为 `variant`。
- `Slider`
- `tooltipPrefixCls` 弃用,变为 `tooltip.prefixCls`。
- `getTooltipPopupContainer` 弃用,变为 `tooltip.getPopupContainer`。
- `tipFormatter` 弃用,变为 `tooltip.formatter`。
- `tooltipPlacement` 弃用,变为 `tooltip.placement`。
- `tooltipVisible` 弃用,变为 `tooltip.open`。
- `Space.Compact`
- `direction` 弃用,变为 `orientation`。
- `Space`
- `direction` 弃用,变为 `orientation`。
- `split` 弃用,变为 `separator`。
- `Splitter`
- `layout` 弃用,变为 `orientation`。
- `Countdown`
- `