跳到主要内容

useToggle

分类
导出大小
208 B
上次更改
2 个月前

一个带有实用函数的布尔切换器。

演示

值: 关

用法

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

当你传入一个 ref 时,useToggle 将返回一个简单的切换函数。

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

注意:请注意切换函数将第一个参数作为覆盖值。你可能希望避免直接将该函数传递给模板中的事件,因为事件对象将被传入。

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

类型声明

ts
export 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
]

来源

源码演示文档

贡献者

Anthony Fu
Anthony Fu
SerKo
IlyaL
IlyaL
Robin
elky
Jelf
webfansplz
Alex Kozack
Alexey Iskhakov

更新日志

8c521 - feat(components)!: 重构组件并使其保持一致 (#4912)
v13.6.0
d32f8 - refactor: 为所有纯函数添加 @__NO_SIDE_EFFECTS__ 注释 (#4907)
v13.1.0
c1d6e - feat(shared): 确保返回类型存在 (#4659)
v12.8.0
7432f - feat(types): 废弃 MaybeRefMaybeRefOrGetter,转而使用 Vue 的原生类型 (#4636)
v12.3.0
59f75 - feat(toValue): 废弃 @vueuse/shared 中的 toValue,转而使用 Vue 的原生函数
0a9ed - feat!: 放弃对 Vue 2 的支持,优化打包并清理 (#4349)

根据 MIT 许可证发布。