'use strict'; import React from 'react'; import Calendar from 'rc-calendar'; const Datepicker = Calendar.Picker; import GregorianCalendar from 'gregorian-calendar'; import zhCn from 'gregorian-calendar/lib/locale/zh-cn'; import CalendarLocale from 'rc-calendar/lib/locale/zh-cn'; import DateTimeFormat from 'gregorian-calendar-format'; // 和顶部文案保持一致 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()); export default React.createClass({ getInitialState: function () { var value = new GregorianCalendar(zhCn); if (this.props.value) { value.setTime(new Date(this.props.value).valueOf()); } else { value.setTime(Date.now()); } return { value: value }; }, componentWillReceiveProps(nextProps){ if ('value' in nextProps) { var value = new GregorianCalendar(zhCn); value.setTime(new Date(nextProps.value).valueOf()); this.setState({ value: value }); } }, getDefaultProps: function () { return { format: 'yyyy-MM-dd', placeholder: '请选择日期', onSelect: function () { } }; }, handleChange: function (v) { this.setState({ value: v }); this.props.onSelect(new Date(v.getTime())); }, render: function () { var calendar = ( ); return ( } calendar={calendar} formatter={new DateTimeFormat(this.props.format)} value={this.state.value} prefixCls="ant-calendar-picker" onChange={this.handleChange}> ); } });