@@ -11,6 +11,7 @@ import {
1111 computed ,
1212 type StyleValue ,
1313 watch ,
14+ watchEffect ,
1415} from 'vue'
1516import { getOption } from './options'
1617import {
@@ -37,27 +38,24 @@ export const useVueltip = ({
3738 floatingOptions,
3839} : UseTooltipOptions ) => {
3940 let initialParent : Maybe < HTMLElement >
40- watch (
41- tooltipElement ,
42- ( el , _prevEl , onCleanup ) => {
43- if ( ! el ) return
44- initialParent = el . parentElement
41+ watchEffect ( ( onCleanup ) => {
42+ const el = tooltipElement . value
43+ if ( ! el ) return
44+ initialParent = el . parentElement
4545
46- const onEnter = ( ) =>
47- ( hoveredElement . value = debouncedHoveredElement . value )
48- const onLeave = ( ) =>
49- ( hoveredElement . value = undefined )
46+ const onEnter = ( ) =>
47+ ( hoveredElement . value = debouncedHoveredElement . value )
48+ const onLeave = ( ) =>
49+ ( hoveredElement . value = undefined )
5050
51- el . addEventListener ( 'mouseenter' , onEnter )
52- el . addEventListener ( 'mouseleave' , onLeave )
51+ el . addEventListener ( 'mouseenter' , onEnter )
52+ el . addEventListener ( 'mouseleave' , onLeave )
5353
54- onCleanup ( ( ) => {
55- el . removeEventListener ( 'mouseenter' , onEnter )
56- el . removeEventListener ( 'mouseleave' , onLeave )
57- } )
58- } ,
59- { immediate : true , flush : 'post' } ,
60- )
54+ onCleanup ( ( ) => {
55+ el . removeEventListener ( 'mouseenter' , onEnter )
56+ el . removeEventListener ( 'mouseleave' , onLeave )
57+ } )
58+ } , { flush : 'post' } )
6159 const middleware = [
6260 offset ( _offset ) ,
6361 flip ( ) ,
0 commit comments