1+ import { watch } from '@vue/runtime-core'
12import { defineComponent , h , onMounted , onUpdated , ref , RendererElement , Transition } from 'vue'
23
34const CNavGroup = defineComponent ( {
@@ -44,26 +45,34 @@ const CNavGroup = defineComponent({
4445 }
4546 } )
4647
48+ watch ( visible , ( ) => {
49+ emit ( 'visible-change' , visible . value )
50+ } )
51+
4752 const handleTogglerClick = function ( ) {
4853 visible . value = ! visible . value
49- emit ( 'visible-change' , visible . value )
5054 }
55+
5156 const handleBeforeEnter = ( el : RendererElement ) => {
5257 el . style . height = '0px'
5358 navGroupRef . value . classList . add ( 'show' )
5459 }
60+
5561 const handleEnter = ( el : RendererElement , done : ( ) => void ) => {
5662 el . addEventListener ( 'transitionend' , ( ) => {
5763 done ( )
5864 } )
5965 el . style . height = `${ el . scrollHeight } px`
6066 }
67+
6168 const handleAfterEnter = ( el : RendererElement ) => {
6269 el . style . height = 'auto'
6370 }
71+
6472 const handleBeforeLeave = ( el : RendererElement ) => {
6573 el . style . height = `${ el . scrollHeight } px`
6674 }
75+
6776 const handleLeave = ( el : RendererElement , done : ( ) => void ) => {
6877 el . addEventListener ( 'transitionend' , ( ) => {
6978 done ( )
@@ -72,6 +81,7 @@ const CNavGroup = defineComponent({
7281 el . style . height = '0px'
7382 } , 1 )
7483 }
84+
7585 const handleAfterLeave = ( ) => {
7686 navGroupRef . value . classList . remove ( 'show' )
7787 }
0 commit comments