diff --git a/src/components/date-picker/picker.vue b/src/components/date-picker/picker.vue index 55c6f9d9..2960fcac 100644 --- a/src/components/date-picker/picker.vue +++ b/src/components/date-picker/picker.vue @@ -517,7 +517,7 @@ val = val.join(RANGE_SEPARATOR); val = parser(val, this.format || DEFAULT_FORMATS[type]); } else if (typeof val === 'string' && type.indexOf('time') !== 0 ){ - val = parser(val, this.format || DEFAULT_FORMATS[type]); + val = parser(val, this.format || DEFAULT_FORMATS[type]) || val; } this.internalValue = val; diff --git a/test/unit/specs/date-picker.spec.js b/test/unit/specs/date-picker.spec.js index 49e6ae45..2a5224d2 100644 --- a/test/unit/specs/date-picker.spec.js +++ b/test/unit/specs/date-picker.spec.js @@ -103,19 +103,19 @@ describe('DatePicker.vue', () => { vm.dateType = 'year'; promissedTick(picker) - .then(() => { - expect(picker.type).to.equal('year'); - expect(picker.selectionMode).to.equal('year'); + .then(() => { + expect(picker.type).to.equal('year'); + expect(picker.selectionMode).to.equal('year'); - vm.dateType = 'date'; - return promissedTick(picker); - }) - .then(() => { - expect(picker.type).to.equal('date'); - expect(picker.selectionMode).to.equal('day'); + vm.dateType = 'date'; + return promissedTick(picker); + }) + .then(() => { + expect(picker.type).to.equal('date'); + expect(picker.selectionMode).to.equal('day'); - done(); - }); + done(); + }); }); }); @@ -176,4 +176,19 @@ describe('DatePicker.vue', () => { }); }); }); + + it('should accept a empty string as input v-model value', done => { + vm = createVue({ + template: '', + data(){ + return {value: ''}; + } + }); + + vm.$nextTick(() => { + expect(vm.value).to.equal(''); + done(); + }); + }); + });