跳到主要內容

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]

原始碼

原始碼範例文件

貢獻者

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

變更日誌

v12.8.0 於 2025/3/5
7432f - feat(types):棄用 MaybeRefMaybeRefOrGetter,改用 Vue 原生型別 (#4636)
v12.3.0 於 2025/1/2
59f75 - feat(toValue):棄用 @vueuse/shared 中的 toValue,改用 Vue 原生方法
v12.0.0-beta.1 於 2024/11/21
0a9ed - feat!:移除 Vue 2 支援,最佳化 bundle 並清理程式碼 (#4349)
v10.0.0-beta.4 於 2023/4/13
4d757 - feat(types)!:將 MaybeComputedRef 重新命名為 MaybeRefOrGetter
0a72b - feat(toValue):將 resolveUnref 重新命名為 toValue

以 MIT 授權條款發布。