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
| Prop | Default | Type |
|---|---|---|
modelValue*Valore numerico corrente o sentinel misto. | — | number | symbol |
minValore minimo consentito. | -Infinity | number | undefined |
maxValore massimo consentito. | Infinity | number | undefined |
stepMoltiplicatore di passo per lo scrub. | 1 | number | undefined |
sensitivityMoltiplicatore di sensibilità del puntatore. | 1 | number | undefined |
placeholderPlaceholder per valori misti. | Mixed | string | undefined |
Model
| Prop | Default | Type |
|---|---|---|
v-model:modelValue*Model numerico scrivibile. | — | number |
Eventi
| Event | Payload | Description |
|---|---|---|
update:modelValue | value: number | Emesso durante scrubbing o modifica. |
commit | value: number, previous: number | Emesso quando un'interazione di modifica viene completata. |
Slot
| Slot | Props | Description |
|---|---|---|
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>