Skip to content

useToggle

useToggle 是一个用于管理状态切换状态的 Vue 组合式 API 函数。它提供了一组便捷的方法来控制状态的切换。

基本用法

带回调的状态切换:打开
不带回调的状态切换:打开
vue
<template>
    <div>
        <div style="display: flex; gap: 10px;">
            <p>带回调的状态:{{ isActive === 'on' ? '打开' : '关闭' }}</p>
            <div style="display: flex; gap: 10px;">
                <button @click="isActiveApi.toggle">切换</button>
                <button @click="isActiveApi.reset">重置</button>
                <button @click="isActiveApi.toggleWith('on')">设为打开</button>
            </div>
        </div>
        <div style="display: flex; gap: 10px;">
            <p>不带回调的状态:{{ isActive2 === 'on' ? '打开' : '关闭' }}</p>
            <div style="display: flex; gap: 10px;">
                <button @click="isActive2Api.toggle">切换</button>
                <button @click="isActive2Api.reset">重置</button>
                <button @click="isActive2Api.toggleWith('on')">设为打开</button>    
            </div>
        </div>
    </div>
</template>
<script setup lang="ts">
import { useToggle } from 'fj-vueuse-core'

const [isActive, isActiveApi] = useToggle('on', 'off', (newState) => {
    alert(`触发了回调,切换状态为 ${newState}`)
})
const [isActive2, isActive2Api] = useToggle('on', 'off')
</script>

API

参数

参数类型默认值说明
defaultValuebooleanfalse初始值

返回值

返回值类型说明
dataRef<boolean>当前状态值
apiUseToggleResultApi操作方法对象

UseToggleResultApi

方法说明
toggle()切换状态
on()设置为 true
off()设置为 false
reset()重置为初始值
toggleWith(value)设置为指定值

使用示例

开关组件

vue
<template>
    <div>
        <span :class="{ active: isOn }">{{ isOn ? 'ON' : 'OFF' }}</span>
        <button @click="toggle">切换</button>
    </div>
</template>
<script setup lang="ts">
import { useToggle } from 'fj-vueuse-core'

const [isOn, { toggle }] = useToggle({ defaultValue: true })
</script>