Skip to content

useToggle ​

Category
Export Size
208 B
Last Changed
4 days ago

A boolean switcher with utility functions.

Demo ​

Value: OFF

Usage ​

ts
import { 
useToggle
} from '@vueuse/core'
const [
value
,
toggle
] =
useToggle
()

When you pass a ref, useToggle will return a simple toggle function instead:

ts
import { 
useDark
,
useToggle
} from '@vueuse/core'
const
isDark
=
useDark
()
const
toggleDark
=
useToggle
(
isDark
)

Note: be aware that the toggle function accepts the first argument as the override value. You might want to avoid directly passing the function to events in the template, as the event object will pass in.

html
<!-- caution: $event will be pass in -->
<button @click="toggleDark" />
<!-- recommended to do this -->
<button @click="toggleDark()" />

Type Declarations ​

ts
type 
ToggleFn
= (
value
?: boolean) => void
export type
UseToggleReturn
= [
ShallowRef
<boolean>,
ToggleFn
] |
ToggleFn
export interface
UseToggleOptions
<
Truthy
,
Falsy
> {
truthyValue
?:
MaybeRefOrGetter
<
Truthy
>
falsyValue
?:
MaybeRefOrGetter
<
Falsy
>
} export declare function
useToggle
<
Truthy
,
Falsy
,
T
=
Truthy
|
Falsy
>(
initialValue
:
Ref
<
T
>,
options
?:
UseToggleOptions
<
Truthy
,
Falsy
>,
): (
value
?:
T
) =>
T
export declare function
useToggle
<
Truthy
= true,
Falsy
= false,
T
=
Truthy
|
Falsy
,
>(
initialValue
?:
T
,
options
?:
UseToggleOptions
<
Truthy
,
Falsy
>,
): [
ShallowRef
<
T
>, (
value
?:
T
) =>
T
]

Source ​

Source • Demo • Docs

Contributors ​

NoiseFan

Changelog ​

No recent changes

Released under the MIT License.