mirror of
https://github.com/ant-design/ant-design.git
synced 2025-08-06 16:06:28 +08:00
Fix datepicker format
This commit is contained in:
parent
64e54c42b4
commit
875635e027
@ -7,10 +7,9 @@
|
||||
---
|
||||
|
||||
````jsx
|
||||
// or require('antd/lib/datepicker');
|
||||
var Datepicker = antd.Datepicker;
|
||||
|
||||
ReactDOM.render(
|
||||
<Datepicker defaultValue="2012-12-12" />
|
||||
<Datepicker defaultValue="2015-12-12" />
|
||||
, document.getElementById('components-datepicker-demo-basic'));
|
||||
````
|
||||
|
@ -57,5 +57,5 @@ var Test = React.createClass({
|
||||
|
||||
ReactDOM.render(
|
||||
<Test />
|
||||
, document.getElementById('components-datepicker-demo-range'));
|
||||
, document.getElementById('components-datepicker-demo-start-end'));
|
||||
````
|
||||
|
@ -12,27 +12,34 @@ import Locale from 'gregorian-calendar-format/lib/locale/zh-cn';
|
||||
Locale.shortMonths = ['1月', '2月', '3月', '4月', '5月', '6月',
|
||||
'7月', '8月', '9月', '10月', '11月', '12月'];
|
||||
|
||||
// 以下两行代码
|
||||
// 给没有初始值的日期选择框提供本地化信息
|
||||
// 否则会以周日开始排
|
||||
let defaultCalendarValue = new GregorianCalendar(zhCn);
|
||||
defaultCalendarValue.setTime(Date.now());
|
||||
|
||||
function createPicker(TheCalendar) {
|
||||
return React.createClass({
|
||||
getInitialState() {
|
||||
let value;
|
||||
if (this.props.value) {
|
||||
value = new GregorianCalendar(zhCn);
|
||||
value.setTime(new Date(this.props.value).valueOf());
|
||||
}
|
||||
getDefaultProps() {
|
||||
return {
|
||||
value: value
|
||||
format: 'yyyy-MM-dd',
|
||||
placeholder: '请选择日期',
|
||||
transitionName: 'slide-up',
|
||||
onSelect: null, //向前兼容
|
||||
calendarStyle: {},
|
||||
onChange() {
|
||||
} //onChange可用于Validator
|
||||
};
|
||||
},
|
||||
getInitialState() {
|
||||
return {
|
||||
value: this.parseDateFromValue(this.props.value)
|
||||
};
|
||||
},
|
||||
componentWillReceiveProps(nextProps) {
|
||||
if ('value' in nextProps) {
|
||||
let value = null;
|
||||
if (nextProps.value) {
|
||||
value = new GregorianCalendar(zhCn);
|
||||
value.setTime(new Date(nextProps.value).valueOf());
|
||||
}
|
||||
this.setState({
|
||||
value: value
|
||||
value: this.parseDateFromValue(nextProps.value)
|
||||
});
|
||||
}
|
||||
},
|
||||
@ -45,16 +52,17 @@ function createPicker(TheCalendar) {
|
||||
formats[format] = new DateTimeFormat(format);
|
||||
return formats[format];
|
||||
},
|
||||
getDefaultProps() {
|
||||
return {
|
||||
format: 'yyyy-MM-dd',
|
||||
placeholder: '请选择日期',
|
||||
transitionName: 'slide-up',
|
||||
onSelect: null, //向前兼容
|
||||
calendarStyle: {},
|
||||
onChange() {
|
||||
} //onChange可用于Validator
|
||||
};
|
||||
parseDateFromValue(value) {
|
||||
if (value) {
|
||||
if (typeof value === 'string') {
|
||||
return new DateTimeFormat(this.props.format).parse(value, zhCn);
|
||||
} else if (value instanceof Date) {
|
||||
let date = new GregorianCalendar(zhCn);
|
||||
date.setTime(value);
|
||||
return date;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
},
|
||||
handleInputChange() {},
|
||||
handleChange(v) {
|
||||
@ -77,6 +85,7 @@ function createPicker(TheCalendar) {
|
||||
style={this.props.calendarStyle}
|
||||
disabledDate={this.props.disabledDate}
|
||||
locale={CalendarLocale}
|
||||
defaultValue={defaultCalendarValue}
|
||||
showTime={this.props.showTime}
|
||||
prefixCls="ant-calendar"
|
||||
showOk={this.props.showTime}
|
||||
@ -88,11 +97,7 @@ function createPicker(TheCalendar) {
|
||||
} else if (this.props.size === 'small') {
|
||||
sizeClass = ' ant-input-sm';
|
||||
}
|
||||
let defaultValue;
|
||||
if (this.props.defaultValue) {
|
||||
defaultValue = new GregorianCalendar(zhCn);
|
||||
defaultValue.setTime(new Date(this.props.defaultValue).valueOf());
|
||||
}
|
||||
let defaultValue = this.parseDateFromValue(this.props.defaultValue);
|
||||
return (
|
||||
<Datepicker
|
||||
transitionName={this.props.transitionName}
|
||||
|
@ -15,7 +15,7 @@
|
||||
## API
|
||||
|
||||
```html
|
||||
<Datepicker value="2015-01-01" />
|
||||
<Datepicker defaultValue="2015-01-01" />
|
||||
```
|
||||
|
||||
| 参数 | 说明 | 类型 | 默认值 |
|
||||
|
Loading…
Reference in New Issue
Block a user