Skip to content

Commit 73fd137

Browse files
Copilotvinpogo
andcommitted
Switch from watch to watchEffect for tooltip listener setup
Co-authored-by: vinpogo <35638693+vinpogo@users.noreply.github.com>
1 parent f6d6caf commit 73fd137

1 file changed

Lines changed: 16 additions & 18 deletions

File tree

packages/vueltip/src/composables.ts

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
computed,
1212
type StyleValue,
1313
watch,
14+
watchEffect,
1415
} from 'vue'
1516
import { getOption } from './options'
1617
import {
@@ -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

Comments
 (0)