Commit 95dfbe1bc44c9341e50684d459c89be648a0794e
Committed by
GitHub
Merge pull request #2120 from SergioCrisostomo/fix-2119
correct behaviour when initialising date-picker with a empty string
Showing
2 changed files
with
29 additions
and
14 deletions
Show diff stats
src/components/date-picker/picker.vue
| @@ -517,7 +517,7 @@ | @@ -517,7 +517,7 @@ | ||
| 517 | val = val.join(RANGE_SEPARATOR); | 517 | val = val.join(RANGE_SEPARATOR); |
| 518 | val = parser(val, this.format || DEFAULT_FORMATS[type]); | 518 | val = parser(val, this.format || DEFAULT_FORMATS[type]); |
| 519 | } else if (typeof val === 'string' && type.indexOf('time') !== 0 ){ | 519 | } else if (typeof val === 'string' && type.indexOf('time') !== 0 ){ |
| 520 | - val = parser(val, this.format || DEFAULT_FORMATS[type]); | 520 | + val = parser(val, this.format || DEFAULT_FORMATS[type]) || val; |
| 521 | } | 521 | } |
| 522 | 522 | ||
| 523 | this.internalValue = val; | 523 | this.internalValue = val; |
test/unit/specs/date-picker.spec.js
| @@ -103,19 +103,19 @@ describe('DatePicker.vue', () => { | @@ -103,19 +103,19 @@ describe('DatePicker.vue', () => { | ||
| 103 | 103 | ||
| 104 | vm.dateType = 'year'; | 104 | vm.dateType = 'year'; |
| 105 | promissedTick(picker) | 105 | promissedTick(picker) |
| 106 | - .then(() => { | ||
| 107 | - expect(picker.type).to.equal('year'); | ||
| 108 | - expect(picker.selectionMode).to.equal('year'); | ||
| 109 | - | ||
| 110 | - vm.dateType = 'date'; | ||
| 111 | - return promissedTick(picker); | ||
| 112 | - }) | ||
| 113 | - .then(() => { | ||
| 114 | - expect(picker.type).to.equal('date'); | ||
| 115 | - expect(picker.selectionMode).to.equal('day'); | ||
| 116 | - | ||
| 117 | - done(); | ||
| 118 | - }); | 106 | + .then(() => { |
| 107 | + expect(picker.type).to.equal('year'); | ||
| 108 | + expect(picker.selectionMode).to.equal('year'); | ||
| 109 | + | ||
| 110 | + vm.dateType = 'date'; | ||
| 111 | + return promissedTick(picker); | ||
| 112 | + }) | ||
| 113 | + .then(() => { | ||
| 114 | + expect(picker.type).to.equal('date'); | ||
| 115 | + expect(picker.selectionMode).to.equal('day'); | ||
| 116 | + | ||
| 117 | + done(); | ||
| 118 | + }); | ||
| 119 | }); | 119 | }); |
| 120 | }); | 120 | }); |
| 121 | 121 | ||
| @@ -176,4 +176,19 @@ describe('DatePicker.vue', () => { | @@ -176,4 +176,19 @@ describe('DatePicker.vue', () => { | ||
| 176 | }); | 176 | }); |
| 177 | }); | 177 | }); |
| 178 | }); | 178 | }); |
| 179 | + | ||
| 180 | + it('should accept a empty string as input v-model value', done => { | ||
| 181 | + vm = createVue({ | ||
| 182 | + template: '<date-picker v-model="value" type="date"></date-picker>', | ||
| 183 | + data(){ | ||
| 184 | + return {value: ''}; | ||
| 185 | + } | ||
| 186 | + }); | ||
| 187 | + | ||
| 188 | + vm.$nextTick(() => { | ||
| 189 | + expect(vm.value).to.equal(''); | ||
| 190 | + done(); | ||
| 191 | + }); | ||
| 192 | + }); | ||
| 193 | + | ||
| 179 | }); | 194 | }); |