From 8657d493241b819fbb638730b7a8ab1402898d06 Mon Sep 17 00:00:00 2001 From: mengxiong10 <15623530290@163.com> Date: Fri, 22 Nov 2019 17:57:56 +0800 Subject: [PATCH] fix: panel doesn't close after picking time (#378) --- __test__/date-picker.test.js | 18 ++++++++++++++++++ src/date-picker.vue | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/__test__/date-picker.test.js b/__test__/date-picker.test.js index f8d8a16e..543d7b99 100644 --- a/__test__/date-picker.test.js +++ b/__test__/date-picker.test.js @@ -300,4 +300,22 @@ describe('DatePicker', () => { const emitted = wrapper.emitted(); expect(emitted.input[0][0]).toEqual([null, null]); }); + + it('feat: should close popup when click time in datetime mode', () => { + wrapper = mount(DatePicker, { + propsData: { + type: 'datetime', + timePickerOptions: { + start: '00:00', + step: '00:30', + end: '23:30', + }, + open: true, + showTimePanel: true, + }, + }); + const el = wrapper.find('.mx-time-option'); + el.trigger('click'); + expect(wrapper.emitted().close).toBeTruthy(); + }); }); diff --git a/src/date-picker.vue b/src/date-picker.vue index 12c36bbb..32b16e98 100644 --- a/src/date-picker.vue +++ b/src/date-picker.vue @@ -343,7 +343,8 @@ export default { return value; }, afterEmitValue(type) { - if (!type || type === this.type) { + // this.type === 'datetime', click the time should close popup + if (!type || type === this.type || type === 'time') { this.closePopup(); } },