InputRange
Synonyme: Slider
Beschreibung: Die InputRange-Komponente erzeugt ein interaktives Steuerelement zum Wählen eines numerischen Wertes innerhalb eines definierten Bereichs. Der Wert wird durch Verschieben eines Reglers oder Pfeiltasten angepasst.
Beispiel
Darstellung einer InputRange-Komponente mit Standardausstattung:
<KolInputRange _label="Lautstärke" _max={100} _min={0} _step={1} _value={50} />Barrierefreiheit
- Das Label ist über das Attribut
_labelerforderlich und wird von assistiven Technologien korrekt gelesen. - Der aktuelle Wert wird der Komponente als
aria-valuenowmitgeteilt. - Minimum und Maximum werden über
aria-valueminundaria-valuemaxkommuniziert. - Der Schieberegler ist vollständig über die Tastatur bedienbar.
- Hinweistexte über
_hintwerden von Screenreadern erkannt. - Fehlermeldungen über
_msgwerden von assistiven Technologien vorgelesen.
Links und Referenzen
Verwendung
Tastatursteuerung
| Taste | Funktion |
|---|---|
Tab | Fokussiert das Eingabefeld. |
Pfeil rechts | Erhöht den Wert. |
Pfeil links | Erniedrigt den Wert. |
Pfeil oben | Erhöht den Wert. |
Pfeil unten | Erniedrigt den Wert. |
Pos1 | Springt zum Minimumwert. |
Ende | Springt zum Maximumwert. |
Best Practices / Empfehlungen
- Verwenden Sie aussagekräftige Beschriftungen über
_label, um die Funktion des Schiebereglers deutlich zu machen. - Setzen Sie
_minund_maxkonzeptionell sinnvoll. Die Standardwerte sind_min="0"und_max="100". - Nutzen Sie
_step, um größere oder kleinere Schrittweiten zu definieren (z.B._step="5"für 5er-Schritte). - Geben Sie Hinweise über die Bedeutung von Minimal- und Maximalwert via
_hint. - Kombinieren Sie die InputRange mit einer Textanzeige des aktuellen Wertes, um die Bedienbarkeit zu verbessern.
- Achten Sie darauf, dass
_namegesetzt ist, damit die Daten beim Formularversand mitgesendet werden.
Anwendungsfälle
- Lautstärkeregelung in Multimedia-Anwendungen
- Helligkeits- oder Kontrastanpassung
- Altersfiltration, Preisbereichswahl in Suchformularen
- Schwellenwerteinstellung in Verwaltungsoberflächen
- Skalierung oder Zoom-Kontrolle
- Gewichtung oder Wertfestlegung in Bewertungssystemen
Konstruktion / Technik
Playground
Testen Sie die verschiedenen Eigenschaften der InputRange-Komponente:
<KolInputRange _label="Wertebereich" _max={100} _min={0} _step={1} _value={50} />Funktionalitäten (mit Code)
Basis-Konfiguration
Standard-InputRange mit Beschriftung, Minimum und Maximum:
<KolInputRange _label="Wert auswählen" _max={100} _min={0} _step={1} _value={50} />Wertbereich und Schrittweite
Die Eigenschaften _min, _max und _step bestimmen den Wertebereich und die Schrittweite:
<KolInputRange _label="Preisspanne (€)" _max={1000} _min={0} _step={50} _value={250} />Hinweistexte
Zusätzliche Informationen können über _hint bereitgestellt werden:
<KolInputRange _hint="Schieberegler um die Lautstärke zu regulieren (0-100%)" _label="Lautstärke" _max={100} _min={0} _step={1} _value={50} />Deaktivierter Zustand
Ein deaktiviertes Eingabefeld kann über das Attribut _disabled erreicht werden:
<KolInputRange _disabled={true} _label="Deaktiviertes Feld" _max={100} _min={0} _step={1} _value={50} />Fehlermeldungen
Das Attribut _msg erlaubt die Anzeige von Validierungshinweisen:
<KolInputRange _label="Wertbereich" _max={100} _min={0} _msg={{"_description":"Der Wert muss zwischen 10 und 90 liegen","_level":"error"}} _step={1} _value={5} />Events
Zur Behandlung von Events bzw. Callbacks siehe
| Event | Auslöser | Value |
|---|---|---|
click | Eingabefeld wird angeklickt | - |
focus | Eingabefeld wird fokussiert | - |
blur | Eingabefeld verliert Fokus | - |
input | Wert wird durch Eingabe geändert | Aktueller Wert des Eingabefelds |
change | Eingabe wurde abgeschlossen | Aktueller Wert des Eingabefelds |
API
Overview
The Range input type creates a slider control for selecting a numeric value within a defined range. Use the _min, _max, and _step properties to configure the range and step size.
Properties
| Property | Attribute | Description | Type | Default |
|---|---|---|---|---|
_accessKey | _access-key | Defines the key combination that can be used to trigger or focus the component's interactive element. | string | undefined | undefined |
_autoComplete | _auto-complete | Defines whether the input can be auto-completed. | string | undefined | 'off' |
_disabled | _disabled | Makes the element not focusable and ignore all events. | boolean | undefined | false |
_hideLabel | _hide-label | Hides the caption by default and displays the caption text with a tooltip when the interactive element is focused or the mouse is over it. | boolean | undefined | false |
_hideMsg | _hide-msg | Hides the error message but leaves it in the DOM for the input's aria-describedby. | boolean | undefined | false |
_hint | _hint | Defines the hint text. | string | undefined | '' |
_icons | _icons | Defines the icon classnames (e.g. _icons="fa-solid fa-user"). | string | undefined | { right?: IconOrIconClass | undefined; left?: IconOrIconClass | undefined; } | undefined |
_label (required) | _label | Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to false to enable the expert slot. | string | undefined |
_max | _max | Defines the maximum value of the element. | `${number}.${number}` | `${number}` | number | undefined | 100 |
_min | _min | Defines the smallest possible input value. | `${number}.${number}` | `${number}` | number | undefined | 0 |
_msg | _msg | Defines the properties for a message rendered as Alert component. | Omit<AlertProps, "_on" | "_variant" | "_hasCloser" | "_label" | "_level"> & { _description: string; } | string | undefined | undefined |
_name | _name | Defines the technical name of an input field. | string | undefined | undefined |
_on | -- | Gibt die EventCallback-Funktionen für das Input-Event an. | InputTypeOnBlur & InputTypeOnClick & InputTypeOnChange & InputTypeOnFocus & InputTypeOnInput & InputTypeOnKeyDown | undefined | undefined |
_shortKey | _short-key | Adds a visual shortcut hint after the label and instructs the screen reader to read the shortcut aloud. | string | undefined | undefined |
_step | _step | Defines the step size for value changes. | `${number}.${number}` | `${number}` | number | undefined | undefined |
_suggestions | _suggestions | Suggestions to provide for the input. | W3CInputValue[] | string | undefined | undefined |
_tooltipAlign | _tooltip-align | Defines where to show the Tooltip preferably: top, right, bottom or left. | "bottom" | "left" | "right" | "top" | undefined | 'top' |
_touched | _touched | Shows if the input was touched by a user. | boolean | undefined | false |
_value | _value | Defines the value of the element. | `${number}.${number}` | `${number}` | number | undefined | undefined |
Methods
click
click() => Promise<void>
Clicks the primary interactive element inside this component.
Returns
Type: Promise<void>
focus() => Promise<void>
Sets focus on the internal element.
Returns
Type: Promise<void>
getValue() => Promise<number | NumberString | undefined>
Returns the current value.
Returns
Type: Promise<number | NumberString | undefined>
Slots
| Slot | Description |
|---|---|
| The label of the input field. |