Skip to content

Commit ed9e671

Browse files
committed
fix: correct render of datepicker on mount in show view
AdminForth/1959/edit-view-datepicker-does-not-
1 parent 2756d7f commit ed9e671

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

‎adminforth/spa/src/afcl/DatePicker.vue‎

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
</div>
4747
</template>
4848
<script setup>
49-
import {ref, computed, onMounted, watch, onBeforeUnmount, nextTick} from 'vue';
49+
import {ref, computed, onMounted, watch, onBeforeUnmount} from 'vue';
5050
import dayjs from 'dayjs';
5151
import utc from 'dayjs/plugin/utc';
5252
@@ -89,6 +89,8 @@ const startTime = ref('');
8989
9090
const datepickerObject = ref('')
9191
92+
let datepickerReady;
93+
9294
const start = computed(() => {
9395
if (props.column?.type === 'time') {
9496
return formatTime(startTime.value);
@@ -118,14 +120,15 @@ async function updateFromProps() {
118120
} else if (props.column.type === 'time') {
119121
startTime.value = props.valueStart;
120122
} else {
121-
// wait ref to initialize
122-
await nextTick();
123+
// datepicker is created only after its lazy-loaded chunk resolves
124+
await datepickerReady;
123125
datepickerObject.value.setDate(dayjs(props.valueStart).format('DD MMM YYYY'));
124126
startTime.value = dayjs(props.valueStart).format('HH:mm:ss')
125127
}
126128
}
127129
128130
onMounted(() => {
131+
datepickerReady = initDatepickers();
129132
updateFromProps();
130133
131134
watch(() => [props.valueStart], (value) => {
@@ -183,10 +186,6 @@ const toggleTimeInputs = () => {
183186
showTimeInputs.value = !showTimeInputs.value
184187
}
185188
186-
onMounted(() => {
187-
initDatepickers();
188-
});
189-
190189
onBeforeUnmount(() => {
191190
removeChangeDateListener();
192191
destroyDatepickerElement();

0 commit comments

Comments
 (0)