@@ -55,52 +55,53 @@ const escBinding = ref(null);
5555const portal = computed (() => modal .value ? ` #portal-target-${ modal .value .id } ` : null );
5656
5757function 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
6869function 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
7778function dismiss () {
78- if (! props .dismissible ) return ;
79+ if (! props .dismissible ) return ;
7980
80- emit (' dismissed' );
81- close ();
81+ emit (' dismissed' );
82+ close ();
8283}
8384
8485provide (' closeModal' , close);
8586
8687function updateOpen (value ) {
87- if (isUsingOpenProp .value ) {
88- emit (' update:open' , value);
89- }
88+ if (isUsingOpenProp .value ) {
89+ emit (' update:open' , value);
90+ }
9091}
9192
9293watch (
93- () => props .open ,
94- (value ) => value ? open () : close (),
94+ () => props .open ,
95+ (value ) => value ? open () : close (),
9596);
9697
9798onMounted (() => {
98- if (props .open ) open ();
99+ if (props .open ) open ();
99100});
100101
101102onBeforeUnmount (() => {
102- modal .value ? .destroy ();
103- escBinding .value ? .destroy ();
103+ modal .value ? .destroy ();
104+ escBinding .value ? .destroy ();
104105});
105106
106107defineExpose ({
0 commit comments