Skip to content

useToggle

布尔切换器,返回响应式值和切换函数。


函数签名

ts
// 传入初始值,返回 [Ref, toggle]
function useToggle(initialValue?: boolean, options?: UseToggleOptions): [Ref<boolean>, (value?: boolean) => boolean]

// 传入 Ref,返回 toggle 函数
function useToggle(value: Ref<boolean>, options?: UseToggleOptions): (value?: boolean) => boolean

基础用法

参数

参数说明类型默认值
initialValue初始值boolean | Ref<boolean>false
options配置项UseToggleOptions{}

UseToggleOptions

参数说明类型默认值
truthyValue代表"真"的值MaybeRefOrGettertrue
falsyValue代表"假"的值MaybeRefOrGetterfalse

返回值

  • 传入非 Ref 初始值时:返回 [Ref<boolean>, toggleFn] 元组
  • 传入 Ref 时:返回 toggleFn 函数

toggle(value?) — 无参数时切换真假值;传入参数时直接设置为该值。

代码示例

ts
import { useToggle } from 'ljf-hooks'

// 方式一:返回 [value, toggle]
const [value, toggle] = useToggle()
toggle()    // 切换
toggle(true) // 设为 true

// 方式二:传入 ref,返回 toggle 函数
const isDark = ref(false)
const toggleDark = useToggle(isDark)
toggleDark() // 切换 isDark