diff --git a/components/date-picker/PropsType.tsx b/components/date-picker/PropsType.tsx index 8f991cd66..070f3f6a4 100644 --- a/components/date-picker/PropsType.tsx +++ b/components/date-picker/PropsType.tsx @@ -2,6 +2,7 @@ import React from 'react'; import AntDatePickerProps from './datepicker/DatePickerProps'; export interface DatePickerPropsType extends AntDatePickerProps { value?: Date; + defaultDate?: Date; mode?: 'datetime' | 'date' | 'year' | 'month' | 'time'; minDate?: Date; maxDate?: Date; diff --git a/components/date-picker/datepicker/DatePicker.tsx b/components/date-picker/datepicker/DatePicker.tsx index 76104203c..10bb1f6de 100644 --- a/components/date-picker/datepicker/DatePicker.tsx +++ b/components/date-picker/datepicker/DatePicker.tsx @@ -154,20 +154,20 @@ class DatePicker extends React.Component { getDefaultMinDate() { if (!this.defaultMinDate) { - this.defaultMinDate = new Date(2000, 1, 1, 0, 0, 0); + this.defaultMinDate = new Date(2000, 0, 1, 0, 0, 0); } return this.defaultMinDate; } getDefaultMaxDate() { if (!this.defaultMaxDate) { - this.defaultMaxDate = new Date(2030, 1, 1, 23, 59, 59); + this.defaultMaxDate = new Date(2030, 0, 1, 23, 59, 59); } return this.defaultMaxDate; } getDate() { - return this.clipDate(this.state.date || this.getDefaultMinDate()); + return this.clipDate(this.state.date || this.props.defaultDate || this.getDefaultMinDate()); } // used by rmc-picker/lib/PopupMixin.js diff --git a/components/date-picker/demo/basic.md b/components/date-picker/demo/basic.md index a98ba664a..a70ad3999 100644 --- a/components/date-picker/demo/basic.md +++ b/components/date-picker/demo/basic.md @@ -30,6 +30,7 @@ export default class PopupExample extends React.Component { { { antLocale: PropTypes.object, }; render() { - const { children, value, itemStyle, ...restProps } = this.props; + const { children, value, defaultDate, itemStyle, ...restProps } = this.props; const locale = getComponentLocale( this.props, (this as any).context, @@ -41,7 +41,8 @@ export default class DatePicker extends React.Component { mode={this.props.mode} minDate={this.props.minDate} maxDate={this.props.maxDate} - defaultDate={value} + defaultDate={defaultDate} + date={value} onValueChange={this.props.onValueChange} itemStyle={itemStyle} /> diff --git a/components/date-picker/index.zh-CN.md b/components/date-picker/index.zh-CN.md index 83d412f06..7f4af5274 100644 --- a/components/date-picker/index.zh-CN.md +++ b/components/date-picker/index.zh-CN.md @@ -17,6 +17,7 @@ subtitle: 日期选择 ----|-----|------|------ | mode | 日期选择的类型, 可以是日期`date`,时间`time`,日期+时间`datetime`,年`year`,月`month` | String | `date` | | value | 当前选中时间 | Date | 无 | +| defaultDate | 默认选中时间 | Date | 无 | | minDate | 最小可选日期 | Date | 2000-1-1 | | maxDate | 最大可选日期 | Date | 2030-1-1 | | minuteStep | 分钟数递增步长设置 | Number | 1 |