kliping.pro
  • Docs
  • Explore
  • Builder
  • Directory
  • Colors
  • Typeset
Saved
Hooks
  • Getting Started2
  • State7
  • useBoolean
  • useControllableValue
  • useCounter
  • useDebounce
  • useResetState
  • useThrottle
  • useToggle
  • Advanced6
  • Lifecycle16
  • Browser21
  • Development1
  • Third-Party4
  • Libraries4
  1. Hooks
  2. State
  3. useToggle

useToggle

PreviousNext

Membalik sebuah nilai bolak-balik antara dua kemungkinan.

Isinya sengaja setipis mungkin: sebuah ref dan empat fungsi biasa. setup() berjalan sekali, jadi keduanya sudah stabil dengan sendirinya — tidak ada yang perlu dibungkus atau dijaga identitasnya.

Nilai kiri dan kanannya dikunci sekali saat composable ini dipanggil. Yang bolak-balik adalah nilainya, bukan batas-batasnya.

Installation ​

pnpm dlx kliping@latest add use-toggle

Tanpa dependensi — tidak ada berkas lain yang ikut terpasang.

Salin kode berikut ke project Anda.

ts
import { ref, toValue } from 'vue'
import type { MaybeRefOrGetter, Ref } from 'vue'

export function useToggle<D = boolean, R = boolean>(
  defaultValue: MaybeRefOrGetter<D> = false as D,
  reverseValue?: MaybeRefOrGetter<R>,
) {
  const left = toValue(defaultValue) as D
  const right = (reverseValue === undefined ? !left : toValue(reverseValue)) as R

  const value = ref(left) as Ref<D | R>

  const set = (next: D | R) => {
    value.value = next
  }

  const toggle = () => {
    value.value = Object.is(value.value, left) ? right : left
  }

  return {
    /** Current value. Reactive. */
    value,
    /** Switches between the two values. */
    toggle,
    /** Sets either value. */
    set,
    /** Sets the left (default) value. */
    setLeft: () => set(left),
    /** Sets the right (reverse) value. */
    setRight: () => set(right),
  }
}

Requirements ​

RequirementValue
ProjectVue 3.5+, alias @ — disiapkan kliping init
Filescomposables/use-toggle.ts

API Reference ​

ts
export function useToggle<D = boolean, R = boolean>(
  defaultValue: MaybeRefOrGetter<D> = false as D,
  reverseValue?: MaybeRefOrGetter<R>,
)

Parameters ​

ParameterTypeDefaultDescription
defaultValue?MaybeRefOrGetter<D>false as DInitial value, and the left value. Default: false.
reverseValue?MaybeRefOrGetter<R>—The right value; defaults to the opposite of defaultValue.

Returns ​

PropertyTypeDescription
valueRef<D | R, D | R>Current value. Reactive.
toggle() => voidSwitches between the two values.
set(next: D | R) => voidSets either value.
setLeft() => voidSets the left (default) value.
setRight() => voidSets the right (reverse) value.

Credits ​

Berasal dari shadcn-hooks (MIT, Copyright (c) 2025 Brendan Dash). Rantai lengkapnya di Credits.

PrevioususeThrottleNext useCreation

On This Page

InstallationRequirementsAPI ReferenceParametersReturnsCredits

© 2026 Kliping. Free components are open source under the MIT License.

LicenseCreditsRoadmap