Skip to content

useElementHover

类别
导出体积
1.17 kB
上次更改
3 months ago

获取元素的响应式悬停状态。

示例

用法

vue
<script setup lang="ts">
import { 
useElementHover
} from '@vueuse/core'
import {
useTemplateRef
} from 'vue'
const
myHoverableElement
=
useTemplateRef
<HTMLButtonElement>('myHoverableElement')
const
isHovered
=
useElementHover
(
myHoverableElement
)
</script> <template> <
button
ref
="
myHoverableElement
">
{{
isHovered
}}
</
button
>
</template>

指令用法

vue
<script setup lang="ts">
import { 
vElementHover
} from '@vueuse/components'
import {
shallowRef
} from 'vue'
const
isHovered
=
shallowRef
(false)
function
onHover
(
state
: boolean) {
isHovered
.
value
=
state
} </script> <template> <
button
v-element-hov
er="
onHover
">
{{
isHovered
? '谢谢!' : '悬停我' }}
</
button
>
</template>

You can also provide hover options:

vue
<script setup lang="ts">
import { 
vElementHover
} from '@vueuse/components'
import {
shallowRef
} from 'vue'
const
isHovered
=
shallowRef
(false)
function
onHover
(
hovered
: boolean) {
isHovered
.
value
=
hovered
} </script> <template> <
button
v-element-hov
er="
[
onHover
, {
delayEnter
: 1000 }]
">
<
span
>{{
isHovered
? 'Thank you!' : 'Hover me' }}</
span
>
</
button
>
</template>

类型声明

ts
export interface UseElementHoverOptions extends ConfigurableWindow {
  
delayEnter
?: number
delayLeave
?: number
triggerOnRemoval
?: boolean
} export declare function
useElementHover
(
el
:
MaybeRefOrGetter
<EventTarget | null | undefined>,
options
?: UseElementHoverOptions,
):
ShallowRef
<boolean>

源码

源码演示文档

贡献者

一纸忘忧
Anthony Fu
IlyaL
Anthony Fu
IlyaL
webfansplz
Robin
Ben Lau
Joaquín Sánchez
Jelf
geekreal
cx33
Joe Maylor

更新日志

8c521 - feat(components)!: refactor components and make them consistent (#4912)
319d8 - feat(shared): Introduce TimerHandle for setTimeout type (#4801)
7432f - feat(types): deprecate MaybeRef and MaybeRefOrGetter in favor of Vue's native (#4636)
08cf5 - feat(onElementRemoval): new function, refactor useActiveElement useElementHover (#4410)
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
cf439 - feat: add options to the directive (#3897)