Skip to content

ScrubInputRoot

ScrubInputRoot est la primitive racine headless pour la saisie numérique par glissement.

Elle gère :

  • l'affichage des valeurs mixtes
  • l'état d'édition versus de glissement
  • le glissement numérique piloté par le pointeur
  • la sémantique de validation pour les éditions terminées

Props

PropDefaultType
modelValue*
Valeur numérique courante ou sentinelle de valeur mixte.
number | symbol
min
Valeur minimale autorisée.
-Infinitynumber | undefined
max
Valeur maximale autorisée.
Infinitynumber | undefined
step
Multiplicateur de pas de glissement.
1number | undefined
sensitivity
Multiplicateur de sensibilité du pointeur.
1number | undefined
placeholder
Placeholder pour les valeurs mixtes.
Mixedstring | undefined

Modèle

PropDefaultType
v-model:modelValue*
Modèle numérique inscriptible.
number

Événements

EventPayloadDescription
update:modelValuevalue: numberÉmis pendant le glissement ou l'édition.
commitvalue: number, previous: numberÉmis quand une interaction d'édition est validée.

Slots

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 }Contrat de rendu complet de la saisie par glissement.

Exemple

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

API associées

Released under the MIT License.