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

SourceDemoDocs

Contributors

NoiseFan

Changelog

No recent changes

Released under the MIT License.