--- category: Utilities --- # useCounter Basic counter with utility functions. ## Basic Usage ```ts import { useCounter } from '@vueuse/core' const { count, inc, dec, set, reset } = useCounter() ``` ## Usage with options ```ts import { useCounter } from '@vueuse/core' const { count, inc, dec, set, reset } = useCounter(1, { min: 0, max: 16 }) ``` ## Type Declarations ```ts export interface UseCounterOptions { min?: number max?: number } export interface UseCounterReturn { /** * The current value of the counter. */ readonly count: Readonly> /** * Increment the counter. * * @param {number} [delta=1] The number to increment. */ inc: (delta?: number) => void /** * Decrement the counter. * * @param {number} [delta=1] The number to decrement. */ dec: (delta?: number) => void /** * Get the current value of the counter. */ get: () => number /** * Set the counter to a new value. * * @param val The new value of the counter. */ set: (val: number) => void /** * Reset the counter to an initial value. */ reset: (val?: number) => number } /** * Basic counter with utility functions. * * @see https://vueuse.org/useCounter * @param [initialValue] * @param options */ export declare function useCounter( initialValue?: MaybeRef, options?: UseCounterOptions, ): { count: Readonly< | Ref | ShallowRef | WritableComputedRef > inc: (delta?: number) => number dec: (delta?: number) => number get: () => number set: (val: number) => number reset: (val?: number) => number } ```