From ac900e291946550488d3deb18b59260ea393e41d Mon Sep 17 00:00:00 2001 From: yiminghe Date: Tue, 10 Nov 2015 14:20:29 +0800 Subject: [PATCH] update datepicker --- components/datepicker/index.jsx | 47 +++++++++------------------------ components/datepicker/locale.js | 3 +-- 2 files changed, 14 insertions(+), 36 deletions(-) diff --git a/components/datepicker/index.jsx b/components/datepicker/index.jsx index 6a8bbda73..e1923faa6 100644 --- a/components/datepicker/index.jsx +++ b/components/datepicker/index.jsx @@ -7,27 +7,6 @@ import defaultLocale from './locale'; import CalendarLocale from 'rc-calendar/lib/locale/zh_CN'; import DateTimeFormat from 'gregorian-calendar-format'; import objectAssign from 'object-assign'; -const localeFields = [ - 'eras', - 'months', - 'shortMonths', - 'weekdays', - 'shortWeekdays', - 'veryShortWeekdays', - 'ampms', - 'datePatterns', - 'timePatterns', - 'dateTimePattern' -]; - -// 转换 locale 为 rc-calender 接收的格式 -function getCalendarLocale(locale) { - locale.format = locale.format || {}; - localeFields.forEach(function (key) { - locale.format[key] = locale[key]; - }); - return locale; -} function createPicker(TheCalendar) { return React.createClass({ @@ -75,13 +54,13 @@ function createPicker(TheCalendar) { if (formats[format]) { return formats[format]; } - formats[format] = new DateTimeFormat(format); + formats[format] = new DateTimeFormat(format, this.getLocale().lang.format); return formats[format]; }, parseDateFromValue(value) { if (value) { if (typeof value === 'string') { - return new DateTimeFormat(this.props.format).parse(value, this.getLocale()); + return this.getFormatter().parse(value, this.getLocale()); } else if (value instanceof Date) { let date = new GregorianCalendar(this.getLocale()); date.setTime(value); @@ -114,7 +93,7 @@ function createPicker(TheCalendar) { { - ({value}) => { - return - - - ; + ({value}) => { + return + + + ; + } } - } ; } diff --git a/components/datepicker/locale.js b/components/datepicker/locale.js index efca07bab..c81d276b1 100644 --- a/components/datepicker/locale.js +++ b/components/datepicker/locale.js @@ -1,11 +1,10 @@ import objectAssign from 'object-assign'; import GregorianCalendarLocale from 'gregorian-calendar/lib/locale/zh_CN'; import CalendarLocale from 'rc-calendar/lib/locale/zh_CN'; -import GregorianCalendarFormatLocale from 'gregorian-calendar-format/lib/locale/zh_CN'; // 统一合并为完整的 Locale let locale = objectAssign({}, GregorianCalendarLocale); -locale.lang = objectAssign({}, CalendarLocale, GregorianCalendarFormatLocale); +locale.lang = objectAssign({}, CalendarLocale); // All settings at: // https://github.com/ant-design/ant-design/issues/424