combobox
Diese Komponente stellt eine Combobox dar. Die Combobox ermöglicht den Anwendern, einen von den vorgegebenen Werten auszuwählen.
Konfiguration
Für allgemeine Konfigurations-Optionen siehe Allgemeine Komponenten Konfiguration.
Spezifische Konfiguration
type("combobox")-
Typ der Komponente.
forceSelect(boolean)-
Erzwingt die Auswahl einer Option aus der Liste. Falls deaktiviert, können auch Werte außerhalb der Liste benutzt werden. Per Default aktiviert.
multiSelect(boolean)-
Ermöglicht es mehrere Optionen aus der Liste auszuwählen.
options(array<ComboboxOption> | Binding)-
Eine Liste der möglichen Optionen, aus denen der Anwender einen Wert auswählen kann. Eine Option muss einen
value(number | string) und einlabel(MultiLanguageDefinition) für die Anzeige enthalten. value(Binding | number)-
Wert des Feldes.
Allgemeine Konfiguration
Neben den für alle gültigen Konfigurationen, können optional folgende Konfigurationen gesetzt werden: disabled, errorTarget, icon, label, label Einstellungen, onChange, readOnly, required.
Individuelles Styling
Das visuelle Design der Combobox wird primär über die globalen Variablen gesteuert. Für spezifische Abweichungen kann gezielt CSS eingesetzt werden.
Über das Attribut cls können eigene CSS-Regeln angewendet werden.
Die Komponente bietet dafür folgende Standard-Angriffspunkte:
.combobox-
Styles für den Container der Combobox. Im Fall von
multiSelectist.combobox, .combobox divzu verwenden. .combobox-label/.label-
Direkter Zugriff auf das Label der Combobox.
.combobox .value-
Zugriff auf das Eingabeelement der Combobox. Im Fall von
multiSelect, kann mit.combobox .value + divauf die Elemente der Eingabe zugegriffen werden.
Beispiel
{
"$schema": "https://forms.virtimo.net/5.0.x/schema.json",
"metaData": {
"id": 0,
"version": 0
},
"configuration": {
"styles": {
"css": ".combobox.foo .value { color: rgb(0, 15, 185)} .combobox.bar .value { color: rgb(185, 15, 0)}"
}
},
"components": [
{
"type": "container",
"label": "Combobox Component Example",
"components": [
{
"type": "combobox",
"multiSelect": true,
"label": "Selection",
"options": [
{ "value": "foo", "label": "FOO" },
{ "value": "bar", "label": "BAR" }
]
},
{
"type": "combobox",
"forceSelect": false,
"cls": "${/data/selected}",
"label": "Selection Binding",
"value": "${/data/selected}",
"options": "${/data/options}"
}
]
}
],
"state": {
"data": {
"selected": null,
"options": [
{
"value": "foo",
"label": {
"MULTI_LANGUAGE": {
"de": "FOO_DE",
"en": "FOO_EN"
}
}
},
{
"value": "bar",
"label": {
"MULTI_LANGUAGE": {
"de": "BAR_DE",
"en": "BAR_EN"
}
}
}
]
}
}
}