diff --git a/index.js b/index.js index 4f5e1aec42..e2fc065dfd 100644 --- a/index.js +++ b/index.js @@ -81,11 +81,33 @@ class DatePicker extends Component { } getDate(date = this.props.date) { + // date默认值 + if (!date) { + let now = new Date(); + if (this.props.minDate) { + let minDate = this.getDate(this.props.minDate); + + if (now < minDate) { + return minDate; + } + } + + if (this.props.maxDate) { + let maxDate = this.getDate(this.props.maxDate); + + if (now > maxDate) { + return maxDate; + } + } + + return now; + } + if (date instanceof Date) { return date; - } else { - return Moment(date, this.format).toDate(); } + + return Moment(date, this.format).toDate(); } getDateStr(date = this.props.date) { @@ -201,7 +223,7 @@ class DatePicker extends Component { Style.dateInput, customStyles.dateInput, this.state.disabled && Style.disabled, this.state.disabled && customStyles.disabled - ] + ]; return ( { expect(wrapper3.instance().getDateStr()).to.equal('Invalid date'); }); + it('default selected Date', () => { + var dateStr = null; + const wrapper = shallow( { + dateStr = date + }}/>); + const datePicker = wrapper.instance(); + + datePicker.onPressConfirm(); + + expect(dateStr).to.equal(Moment().format('YYYY-MM-DD')); + }); + + it('default selected Date with minDate and maxDate', () => { + var dateStr = null; + var dateStrMax = null; + var dateStrNormal = null + + const wrapper = shallow( { + dateStr = date + }}/>); + const datePicker = wrapper.instance(); + + datePicker.onPressConfirm(); + + expect(dateStr).to.equal('3000-09-09'); + + + const wrapperMax = shallow( { + dateStrMax = date + }}/>); + const datePickerMax = wrapperMax.instance(); + + datePickerMax.onPressConfirm(); + + expect(dateStrMax).to.equal('2016-07-07'); + + + const wrapperNormal = shallow( { + dateStrNormal = date + }}/>); + const datePickerNormal = wrapperNormal.instance(); + + datePickerNormal.onPressConfirm(); + + expect(dateStrNormal).to.equal(Moment().format('YYYY-MM-DD')); + }); + it('setModalVisible', () => { const wrapper = shallow(); const datePicker = wrapper.instance();