Skip to content

ScrubInputRoot

ScrubInputRoot è la primitiva root headless per l'input numerico con trascinamento scrub.

Gestisce:

  • la visualizzazione di valori misti
  • lo stato di modifica vs scrubbing
  • lo scrubbing numerico guidato dal puntatore
  • la semantica di commit per le modifiche completate

Props

PropDefaultType
modelValue*
Valore numerico corrente o sentinel misto.
number | symbol
min
Valore minimo consentito.
-Infinitynumber | undefined
max
Valore massimo consentito.
Infinitynumber | undefined
step
Moltiplicatore di passo per lo scrub.
1number | undefined
sensitivity
Moltiplicatore di sensibilità del puntatore.
1number | undefined
placeholder
Placeholder per valori misti.
Mixedstring | undefined

Model

PropDefaultType
v-model:modelValue*
Model numerico scrivibile.
number

Eventi

EventPayloadDescription
update:modelValuevalue: numberEmesso durante scrubbing o modifica.
commitvalue: number, previous: numberEmesso quando un'interazione di modifica viene completata.

Slot

SlotPropsDescription
default{ modelValue: number | symbol, displayValue: string, isMixed: boolean, editing: boolean, scrubbing: boolean, startScrub: (event: PointerEvent) => void, startEdit: () => void, commitEdit: (event: Event) => void, keydown: (event: KeyboardEvent) => void, placeholder: string }Contratto di rendering completo per lo scrub input.

Esempio

vue
<ScrubInputRoot v-model:model-value="value" @commit="commit" v-slot="ctx">
  <div @pointerdown="ctx.startScrub">
    <ScrubInputDisplay />
    <ScrubInputField class="w-16" />
  </div>
</ScrubInputRoot>

API correlate

Released under the MIT License.