# 升级指南 - category: 3 - order: 3 --- 此处着重列出升级中的不兼容变化和推荐改动。所有变动请见 [Changelog](/changelog)。 ## 0.11 => 0.12 --- ### 使用 Form 提供的校验功能代替 Validation Validation 已经被废弃,并会在以后的版本完全移除,所以建议尽快使用 Form 自带的校验功能替换 Validation。具体使用方式可以查阅文档和例子([#1](http://ant.design/components/form/#demo-validate-basic) [#2](http://ant.design/components/form/#demo-validate-other) [#3](http://ant.design/components/form/#demo-validate-customized))。 ### Progress `format` 属性的值改为函数 把使用了 `format` 属性的代码,如: ```jsx } /> ``` 改为: ```jsx } /> ``` ### Tree - `onSelect` 回调函数,由原来的`一个`参数,变为`两个`,第一个为`selectedKeys`,第二个参数为原来第一个参数里的其余信息。另外`selectedKeys`里包含了当前选中的节点key,而原来的不包含。 - `onCheck` 回调函数,由原来的`一个`参数,变为`两个`,第一个为`checkedKeys`,第二个参数为原来第一个参数里的其余信息。另外`checkedKeys`里包含了当前选中的节点key,而原来的不包含(这样免去业务里自己组装key的工作)。 - 异步API中`onDataLoaded`重命名为`loadData`,其他不用改。 ## 0.10 => 0.11 --- `0.11.x` 版本有大量更新,其中部分为不兼容更新。以下列表为其中不兼容的更新及对应升级方案。如果您在升级过程中遇到下面没有提到的情况,可以到 Github 上面咨询。 - `0.11.x` 文档:http://ant.design - `0.10.x` 文档:http://010x.ant.design ### 默认加载样式 样式现在不再会在 `antd` 中默认加载,如果升级后没有样式,开发者需要手动自行引入样式。 ```js import 'antd/lib/index.css'; // 或者 import 'antd/style/index.less'; ``` ### 表格远程模式 `Table` 的 `dataSource` 远程模式被移除,用户需要自行实现数据获取方式,ajax 获取数据的演示可以参见 [演示](http://ant.design/components/table/#demo-ajax)。 ### Timepicker、Datepicker 重命名 `Timepicker` 被重命名为 `TimePicker`,`Datepicker` 被重命名为 `DatePicker`,需要做以下改动: ```jsx ==> ``` ```jsx ==> ``` 相应的,两个组件的文档地址也改为 [/components/date-picker](/components/date-picker) 和 [/components/time-picker](/components/time-picker)。 ### 受控的 DatePicker 由于 `DatePicker` 已改为 [受控组件](https://facebook.github.io/react/docs/forms.html#controlled-components),所以 `DatePicker` 显示的值必然与其 `value` 一致。 如果无法理解受控组件,只须在发现在选中日期后 `Datepicker` 显示的值不变的情况后,把其 `value` 属性改为 `defaultValue` 即可。 ### TimePicker locale 结构改变 属性 `locale` 结构发生了 [变化](https://github.com/ant-design/ant-design/commit/fd1312803fd49586ded9af39d923457540c515cc#diff-fe4bfc98d91fc3dab8f391e3258622d4L1),需要将原有的属性改为现有的[结构](https://github.com/ant-design/ant-design/issues/1270#issuecomment-201181384)。 ### 其他 - Alert 组件默认不展示样式,可以用 `showIcon` 属性添加图标。 - 在 `0.10.x` 中 Datepicker 已废弃的 `onSelect` 属性被删除,请使用 `onChange` 属性。。 - TimePicker 的 `hourOptions` `minuteOptions` `secondOptions` 属性已移除,可使用 `disabledHours` `disabledMinutes` `disabledSeconds` 配和 `hideDisabled` 属性来完成原有功能。[演示](http://ant.design/components/time-picker/#picker-demo-disable-options) ## 0.9 => 0.10 --- `0.10.x` 版本有大量改动,是一个不完全向下兼容的版本。以下文档尽力列出了 `0.9.x` 到 `0.10.x` 的不兼容变动,以帮助开发者升级。 - `0.10.x` 文档:http://010x.ant.design - `0.9.x` 文档:http://09x.ant.design ### 升级 React 新版本推荐使用 react@0.14.x 及以上版本,并增加了对低版本 react 的警告。建议进行同步升级,参考官方的[升级文档](http://facebook.github.io/react/blog/2015/10/07/react-v0.14.html)。 ### 组件化改造 此版本对 [Button](/components/button/)、[Iconfont](/components/icon/)、[Layout](/components/layout/)、[Form](/components/form/)、[Input](/components/form/#demo-input) 模块进行了 React 组件化的改造,请基于新的使用方式修改,原有的书写方式理论上无影响。 例如: ```html ==> ``` ```html ==> ``` ### size 属性统一 原有组件的 `size` 属性统一为大中小:`large` `default` `small`,包括 `Button` `Table` `Tabs` `Steps` `Select` `Pagination` `InputNumber` `Datepicker`。 例如: ```html ... ==> ... ``` 详情可参考:https://github.com/ant-design/ant-design/issues/415 ### 其他 - [enter-animation](http://09x.ant.design/components/enter-animation) 组件下线, 请使用 [queue-anim](/components/queue-anim) 来代替。 - Carousel 升级依赖,参考新的[新的 API 和使用方式](/components/carousel/)进行修改。 - `antd.Notification()` 修改为小写的 `antd.notification()`。 - Datepicker 的 `onSelect` 属性修改为 `onChange` 属性。 - Datepicker 的 `calendarStyle` 属性修改为 `popupStyle` 属性。 - Dropdown 的 `onSelect` 属性应修正为 `onClick` 属性,因为原有的 onSelect 只在变化时触发。 - Slider 的 `withDots` `isIncluded` 属性修改为 `dots` `included`。 - iconfont 的基线更新,可能导致原有图标的位置偏移。 新版本变化较大,以上升级指南可能有遗漏,全部改动可以参考 [Changelog](/changelog)。在升级过程中遇到问题,欢迎 [报告](https://github.com/ant-design/ant-design/issues/new) 给我们。