跳到内容

useToggle

类别
导出大小
224 B
最后更改
5 天前

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

演示

值: 关闭

用法

js
import { useToggle } from '@vueuse/core'

const [value, toggle] = useToggle()

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

js
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()" />

类型声明

typescript
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演示文档

贡献者

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

更新日志

v12.8.0 于 3/5/2025
7432f - feat(types): 弃用 MaybeRefMaybeRefOrGetter,转而使用 Vue 原生类型 (#4636)
v12.3.0 于 1/2/2025
59f75 - feat(toValue): 弃用 @vueuse/shared 中的 toValue,转而使用 Vue 原生类型
v12.0.0-beta.1 于 11/21/2024
0a9ed - feat!: 移除 Vue 2 支持,优化包大小并清理代码 (#4349)
v10.0.0-beta.4 于 4/13/2023
4d757 - feat(types)!: 将 MaybeComputedRef 重命名为 MaybeRefOrGetter
0a72b - feat(toValue): 将 resolveUnref 重命名为 toValue

在 MIT 许可证下发布。