Skip to content

Commit 4aef69f

Browse files
authored
[6.x] Fix modal mounting (#13284)
1 parent 8b2064e commit 4aef69f

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

resources/js/components/ui/Modal/Modal.vue

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -55,52 +55,53 @@ const escBinding = ref(null);
5555
const portal = computed(() => modal.value ? `#portal-target-${modal.value.id}` : null);
5656
5757
function open() {
58-
if (!modal.value) modal.value = portals.create('modal');
58+
if (!modal.value) modal.value = portals.create('modal');
5959
60-
mounted.value = true;
60+
escBinding.value = keys.bindGlobal('esc', dismiss);
6161
62-
nextTick(() => {
63-
visible.value = true;
64-
escBinding.value = keys.bindGlobal('esc', dismiss);
65-
});
62+
nextTick(() => {
63+
mounted.value = true;
64+
65+
nextTick(() => visible.value = true);
66+
});
6667
}
6768
6869
function close() {
6970
visible.value = false;
7071
71-
wait(300).then(() => {
72-
mounted.value = false;
73-
updateOpen(false);
74-
});
72+
wait(300).then(() => {
73+
mounted.value = false;
74+
updateOpen(false);
75+
});
7576
}
7677
7778
function dismiss() {
78-
if (!props.dismissible) return;
79+
if (!props.dismissible) return;
7980
80-
emit('dismissed');
81-
close();
81+
emit('dismissed');
82+
close();
8283
}
8384
8485
provide('closeModal', close);
8586
8687
function updateOpen(value) {
87-
if (isUsingOpenProp.value) {
88-
emit('update:open', value);
89-
}
88+
if (isUsingOpenProp.value) {
89+
emit('update:open', value);
90+
}
9091
}
9192
9293
watch(
93-
() => props.open,
94-
(value) => value ? open() : close(),
94+
() => props.open,
95+
(value) => value ? open() : close(),
9596
);
9697
9798
onMounted(() => {
98-
if (props.open) open();
99+
if (props.open) open();
99100
});
100101
101102
onBeforeUnmount(() => {
102-
modal.value?.destroy();
103-
escBinding.value?.destroy();
103+
modal.value?.destroy();
104+
escBinding.value?.destroy();
104105
});
105106
106107
defineExpose({

0 commit comments

Comments
 (0)