|
|
|
---
|
|
|
|
category: Components
|
|
|
|
type: 数据录入
|
|
|
|
title: DatePicker
|
|
|
|
subtitle: 日期选择框
|
|
|
|
cover: https://gw.alipayobjects.com/zos/alicdn/RT_USzA48/DatePicker.svg
|
|
|
|
---
|
|
|
|
|
|
|
|
输入或选择日期的控件。
|
|
|
|
|
|
|
|
## 何时使用
|
|
|
|
|
|
|
|
当用户需要输入一个日期,可以点击标准输入框,弹出日期面板进行选择。
|
|
|
|
|
|
|
|
## API
|
|
|
|
|
|
|
|
日期类组件包括以下五种形式。
|
|
|
|
|
|
|
|
- DatePicker
|
|
|
|
- DatePicker\[picker="month"]
|
|
|
|
- DatePicker\[picker="week"]
|
|
|
|
- DatePicker\[picker="year"]
|
|
|
|
- DatePicker\[picker="quarter"] (4.1.0 新增)
|
|
|
|
- RangePicker
|
|
|
|
|
|
|
|
### 国际化配置
|
|
|
|
|
|
|
|
默认配置为 en-US,如果你需要设置其他语言,推荐在入口处使用我们提供的国际化组件,详见:[ConfigProvider 国际化](https://ant.design/components/config-provider-cn/)。
|
|
|
|
|
|
|
|
如有特殊需求(仅修改单一组件的语言),请使用 locale 参数,参考:[默认配置](https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json)。
|
|
|
|
|
|
|
|
```jsx
|
|
|
|
import 'dayjs/locale/zh-cn';
|
|
|
|
import locale from 'antd/es/date-picker/locale/zh_CN';
|
|
|
|
|
|
|
|
<DatePicker locale={locale} />;
|
|
|
|
```
|
|
|
|
|
|
|
|
```jsx
|
|
|
|
// 默认语言为 en-US,如果你需要设置其他语言,推荐在入口文件全局设置 locale
|
|
|
|
import dayjs from 'dayjs';
|
|
|
|
import 'dayjs/locale/zh-cn';
|
|
|
|
import locale from 'antd/es/locale/zh_CN';
|
|
|
|
|
|
|
|
<ConfigProvider locale={locale}>
|
|
|
|
<DatePicker defaultValue={dayjs('2015-01-01', 'YYYY-MM-DD')} />
|
|
|
|
</ConfigProvider>;
|
|
|
|
```
|
|
|
|
|
|
|
|
### 共同的 API
|
|
|
|
|
|
|
|
以下 API 为 DatePicker、 RangePicker 共享的 API。
|
|
|
|
|
|
|
|
| 参数 | 说明 | 类型 | 默认值 | 版本 |
|
|
|
|
| --- | --- | --- | --- | --- |
|
|
|
|
| allowClear | 是否显示清除按钮 | boolean | true | |
|
|
|
|
| autoFocus | 自动获取焦点 | boolean | false | |
|
|
|
|
| bordered | 是否有边框 | boolean | true | |
|
|
|
|
| className | 选择器 className | string | - | |
|
|
|
|
| dateRender | 自定义日期单元格的内容 | function(currentDate: dayjs, today: dayjs) => React.ReactNode | - | |
|
|
|
|
| disabled | 禁用 | boolean | false | |
|
|
|
|
| disabledDate | 不可选择的日期 | (currentDate: dayjs) => boolean | - | |
|
|
|
|
| popupClassName | 额外的弹出日历 className | string | - | 4.23.0 |
|
|
|
|
| getPopupContainer | 定义浮层的容器,默认为 body 上新建 div | function(trigger) | - | |
|
|
|
|
| inputReadOnly | 设置输入框为只读(避免在移动设备上打开虚拟键盘) | boolean | false | |
|
|
|
|
| locale | 国际化配置 | object | [默认配置](https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json) | |
|
|
|
|
| mode | 日期面板的状态([设置后无法选择年份/月份?](/docs/react/faq#当我指定了-DatePicker/RangePicker-的-mode-属性后,点击后无法选择年份/月份?)) | `time` \| `date` \| `month` \| `year` \| `decade` | - | |
|
|
|
|
| nextIcon | 自定义下一个图标 | ReactNode | - | 4.17.0 |
|
|
|
|
| open | 控制弹层是否展开 | boolean | - | |
|
|
|
|
| panelRender | 自定义渲染面板 | (panelNode) => ReactNode | - | 4.5.0 |
|
|
|
|
| picker | 设置选择器类型 | `date` \| `week` \| `month` \| `quarter` \| `year` | `date` | `quarter`: 4.1.0 |
|
|
|
|
| placeholder | 输入框提示文字 | string \| \[string, string] | - | |
|
|
|
|
| placement | 选择框弹出的位置 | `bottomLeft` `bottomRight` `topLeft` `topRight` | bottomLeft | |
|
|
|
|
| popupStyle | 额外的弹出日历样式 | CSSProperties | {} | |
|
|
|
|
| prevIcon | 自定义上一个图标 | ReactNode | - | 4.17.0 |
|
|
|
|
| size | 输入框大小,`large` 高度为 40px,`small` 为 24px,默认是 32px | `large` \| `middle` \| `small` | - | |
|
|
|