ScrubInputRoot
ScrubInputRoot ist das headless Wurzel-Primitiv für Ziehen-zum-Scrubben numerische Eingabe.
Es verwaltet:
- Mischwertedarstellung
- Bearbeitungs- vs. Scrubbingzustand
- zeigerbetriebenes numerisches Scrubbing
- Commit-Semantik für abgeschlossene Bearbeitungen
Props
| Prop | Default | Type |
|---|---|---|
modelValue*Aktueller numerischer Wert oder Mischzustands-Sentinel. | — | number | symbol |
minMinimum erlaubter Wert. | -Infinity | number | undefined |
maxMaximum erlaubter Wert. | Infinity | number | undefined |
stepScrub-Schritt-Multiplikator. | 1 | number | undefined |
sensitivityZeiger-Sensitivitäts-Multiplikator. | 1 | number | undefined |
placeholderPlatzhalter für Mischwerte. | Mixed | string | undefined |
Modell
| Prop | Default | Type |
|---|---|---|
v-model:modelValue*Schreibbares numerisches Modell. | — | number |
Ereignisse
| Event | Payload | Description |
|---|---|---|
update:modelValue | value: number | Ausgelöst während des Scrubbings oder der Bearbeitung. |
commit | value: number, previous: number | Ausgelöst, wenn eine Bearbeitungsinteraktion abgeschlossen wird. |
Slots
| 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 } | Vollständiger Scrub-Eingabe-Render-Vertrag. |
Beispiel
vue
<ScrubInputRoot v-model:model-value="value" @commit="commit" v-slot="ctx">
<div @pointerdown="ctx.startScrub">
<ScrubInputDisplay />
<ScrubInputField class="w-16" />
</div>
</ScrubInputRoot>