From cb57b216d0b1ff9d119f85ade392966888656e71 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Fri, 5 Apr 2024 23:45:33 +0800 Subject: [PATCH] fix the bug that the sheet would display blank after clicking now button and switching from date mode to time mode in date time selection sheet --- .../mobile/DateTimeSelectionSheet.vue | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/components/mobile/DateTimeSelectionSheet.vue b/src/components/mobile/DateTimeSelectionSheet.vue index 69444ea5..fe62bd6e 100644 --- a/src/components/mobile/DateTimeSelectionSheet.vue +++ b/src/components/mobile/DateTimeSelectionSheet.vue @@ -154,9 +154,7 @@ export default { } }); } else { - self.$nextTick(() => { - self.timePickerHolder.setValue(self.timeValues); - }); + self.updateTimePicker(true); } self.$refs.datetimepicker.switchView('calendar'); @@ -169,14 +167,15 @@ export default { this.mode = 'date'; } else { this.mode = 'time'; + this.updateTimePicker(true); } }, setCurrentTime() { this.dateTime = getLocalDatetimeFromUnixTime(getCurrentUnixTime()); this.timeValues = this.getTimeValues(this.dateTime); - if (this.timePickerHolder) { - this.timePickerHolder.setValue(this.timeValues); + if (this.mode === 'time') { + this.updateTimePicker(false); } }, confirm() { @@ -273,6 +272,21 @@ export default { } return ret; + }, + updateTimePicker(lazy) { + const self = this; + + if (lazy) { + self.$nextTick(() => { + if (self.timePickerHolder) { + self.timePickerHolder.setValue(self.timeValues); + } + }); + } else { + if (self.timePickerHolder) { + self.timePickerHolder.setValue(self.timeValues); + } + } } } }