2
0
mirror of https://github.com/tenrok/vue2-datepicker.git synced 2026-06-23 10:20:35 +03:00

fix: when select time picker option close popup (#154)

This commit is contained in:
mxie
2018-09-28 15:52:16 +08:00
parent 2444331a3c
commit 12907adee7
4 changed files with 16 additions and 6 deletions
+6 -2
View File
@@ -64,7 +64,8 @@
:value="value" :value="value"
:disabled-time="isDisabledTime" :disabled-time="isDisabledTime"
:time-type="timeType" :time-type="timeType"
@select="selectTime" /> @select="selectTime"
@pick="pickTime" />
</div> </div>
</div> </div>
</template> </template>
@@ -323,7 +324,10 @@ export default {
this.showPanelDate() this.showPanelDate()
}, },
selectTime (time) { selectTime (time) {
this.$emit('select-time', time) this.$emit('select-time', time, false)
},
pickTime (time) {
this.$emit('select-time', time, true)
}, },
changeCalendarYear (year) { changeCalendarYear (year) {
this.now = new Date(year, this.calendarMonth) this.now = new Date(year, this.calendarMonth)
+2 -2
View File
@@ -365,9 +365,9 @@ export default {
this.updateDate() this.updateDate()
} }
}, },
selectTime (time) { selectTime (time, close) {
this.currentValue = time this.currentValue = time
this.updateDate() this.updateDate() && close && this.closePopup()
}, },
selectStartTime (time) { selectStartTime (time) {
this.selectStartDate(time) this.selectStartDate(time)
+7 -1
View File
@@ -44,6 +44,12 @@ export default {
} }
this.$emit('select', new Date(time)) this.$emit('select', new Date(time))
}, },
pickTime (time) {
if (typeof this.disabledTime === 'function' && this.disabledTime(time)) {
return
}
this.$emit('pick', new Date(time))
},
getTimeSelectOptions () { getTimeSelectOptions () {
const result = [] const result = []
const options = this.timePickerOptions const options = this.timePickerOptions
@@ -96,7 +102,7 @@ export default {
'actived': pickHours === this.currentHours && pickMinutes === this.currentMinutes, 'actived': pickHours === this.currentHours && pickMinutes === this.currentMinutes,
'disabled': disabledTime && disabledTime(time) 'disabled': disabledTime && disabledTime(time)
}} }}
onClick={this.selectTime.bind(this, time)}>{picker.label}</li> onClick={this.pickTime.bind(this, time)}>{picker.label}</li>
) )
}) })
return ( return (
+1 -1
View File
@@ -609,7 +609,7 @@ describe('time-panel', () => {
cells.at(0).trigger('click') cells.at(0).trigger('click')
const emitted = wrapper.emitted() const emitted = wrapper.emitted()
expect(emitted).toEqual({ expect(emitted).toEqual({
select: [[new Date(2018, 5, 5, 1)]] pick: [[new Date(2018, 5, 5, 1)]]
}) })
}) })
}) })