DateTimePicker: fix when time is disabled click confirm select.

pull/22057/head
王叨叨 2022-08-02 15:19:49 +08:00
parent 8ab1db83c5
commit a99d0cb6fa
1 changed files with 15 additions and 9 deletions

View File

@ -307,11 +307,14 @@
handleTimePick(value, visible, first) {
if (isDate(value)) {
const newDate = this.value
let newDate = '';
if ((!this.disabledDate || !this.disabledDate(new Date())) && this.checkDateWithinRange(new Date())) {
newDate = this.value
? modifyTime(this.value, value.getHours(), value.getMinutes(), value.getSeconds())
: modifyWithTimeString(this.getDefaultValue(), this.defaultTime);
this.date = newDate;
this.emit(this.date, true);
}
this.emit(newDate, true);
} else {
this.emit(value, true);
}
@ -376,15 +379,18 @@
},
confirm() {
let value = '';
if (this.selectionMode === 'dates') {
this.emit(this.value);
} else {
// value were emitted in handle{Date,Time}Pick, nothing to update here
// deal with the scenario where: user opens the picker, then confirm without doing anything
const value = this.value
if ((!this.disabledDate || !this.disabledDate(new Date())) && this.checkDateWithinRange(new Date())) {
value = this.value
? this.value
: modifyWithTimeString(this.getDefaultValue(), this.defaultTime);
this.date = new Date(value); // refresh date
};
this.emit(value);
}
},