Skip to content

Commit d0364e8

Browse files
committed
fix: Prevent re-rendering when the menu is already open (fixes #1192)
1 parent 1fb582e commit d0364e8

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/VueDatePicker/VueDatePicker.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@
130130
const shouldFocusNext = ref(false);
131131
const shiftKeyActive = ref(false);
132132
const collapse = ref(false);
133+
const watchRender = ref(true);
133134
134135
const buildFloatingMiddlewares = (middlewares: Middleware[]) => {
135136
if (!floatingConfig.value.arrow) return middlewares;
@@ -185,9 +186,10 @@
185186
);
186187
187188
watch([placement, y], () => {
188-
if (!inline.value.enabled && !rootProps.centered) {
189+
if (!inline.value.enabled && !rootProps.centered && watchRender.value) {
189190
shouldRender.value = false;
190191
nextTick().then(() => {
192+
watchRender.value = false;
191193
shouldRender.value = true;
192194
});
193195
}
@@ -248,6 +250,7 @@
248250
249251
const openMenu = () => {
250252
if (!rootProps.disabled && !rootProps.readonly) {
253+
watchRender.value = true;
251254
isOpen.value = true;
252255
253256
if (isOpen.value) {
@@ -336,6 +339,7 @@
336339
};
337340
338341
const closeMenu = (fromClickAway = false): void => {
342+
watchRender.value = true;
339343
if (fromClickAway && modelValue.value && config.value.setDateOnMenuClose) {
340344
selectDate();
341345
}

0 commit comments

Comments
 (0)