2
0
mirror of https://github.com/tenrok/vue2-datepicker.git synced 2026-06-05 19:42:27 +03:00

fix: split error when rangeSeparator is same as token

This commit is contained in:
mengxiong10
2020-03-06 20:44:00 +08:00
parent 96cf1edf46
commit 435a6e86b8
2 changed files with 14 additions and 4 deletions
+4 -1
View File
@@ -382,6 +382,9 @@ describe('DatePicker', () => {
input.trigger('change');
input.setValue(`${text}${rangeSeparator.trim()}${text}`);
input.trigger('change');
expect(wrapper.emitted().input).toEqual([[[text, text]], [[text, text]]]);
wrapper.setProps({ rangeSeparator: ' - ' });
input.setValue(`${text} - ${text}`);
input.trigger('change');
expect(wrapper.emitted().input).toEqual([[[text, text]], [[text, text]], [[text, text]]]);
});
});
+10 -3
View File
@@ -425,9 +425,16 @@ export default {
this.handleClear();
return;
}
const date = this.range
? text.split(this.rangeSeparator.trim()).map(v => this.parseDate(v.trim(), this.format))
: this.parseDate(text, this.format);
let date;
if (this.range) {
let arr = text.split(this.rangeSeparator);
if (arr.length !== 2) {
arr = text.split(this.rangeSeparator.trim());
}
date = arr.map(v => this.parseDate(v.trim(), this.format));
} else {
date = this.parseDate(text, this.format);
}
if (this.isValidValue(date)) {
this.emitValue(date);
this.blur();