radiogroup
Diese Komponente ermöglicht es, dass in einer Gruppe von Optionen exakt eine Option ausgewählt ist.
Konfiguration
Für allgemeine Konfigurations-Optionen siehe Allgemeine Komponenten Konfiguration.
Spezifische Konfiguration
type("radiogroup")-
Typ der Komponente.
options(array<Radio>)-
Eine Liste von Radio-Elementen, aus denen der Anwender einen Wert auswählen kann.
value(Binding | number)-
Wert des ausgewählten Elementes.
Allgemeine Konfiguration
Neben den für alle gültigen Konfigurationen, können optional folgende Konfigurationen gesetzt werden: disabled, errorTarget, icon, label, label Einstellungen, onChange, required.
Individuelles Styling
Das visuelle Design der Radio-Gruppen 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:
.radiogroup-
Styles für den Container der Radio-Gruppe.
.radiogroup-label/.radiogroup .label-
Direkter Zugriff auf das Label der Radio-Gruppe. Im Fall von
.labelwerden automatisch die Labels der Radio-Elemente von der Gruppe mit angepasst.
Radio
Dieses Element ist Teil einer Radiogroup. Es verfügt daher nicht über einen Typ und kann ausschließlich in einer Radiogroup verwendet werden.
Spezifische Konfiguration
value(number | string)-
Wert des Elementes. Dieses Attribut muss verwendet werden.
Allgemeine Konfiguration
Neben den für alle gültigen Konfigurationen, können optional folgende Konfigurationen gesetzt werden: boxLabel Einstellungen, disabled, icon, label, label Einstellungen.
Individuelles Styling
Das visuelle Design der Radio-Elemente 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:
.radio-
Styles für den Container der Radio-Elemente.
.radio-label/.radio .label-
Direkter Zugriff auf das Label von Radio-Elementen.
.radiogroup .radio div:has(.value)-
Zugriff auf das Eingabeelement der Radio-Elemente.
Beispiel
{
"$schema": "https://forms.virtimo.net/5.0.x/schema.json",
"metaData": {
"id": 0,
"version": 0
},
"configuration": {
"styles": {
"css": ".radiogroup.green { background-color: rgba(205, 255, 205, 0.8)} .radio.green div:has(.value) { color: rgb(0, 140, 0)} .radiogroup.yellow { background-color: rgba(241, 236, 157, 0.8)} .radio.yellow div:has(.value) { color: rgb(192, 189, 0)} .radiogroup.red { background-color: rgba(255, 205, 205, 0.8)} .radio.red div:has(.value) { color: rgb(140, 0, 0)}"
}
},
"components": [
{
"type": "container",
"label": "Radiogroup Component Example",
"components": [
{
"type": "radiogroup",
"label": "Radiogroup",
"value": "${/data/radioGroup}",
"cls": "${/data/radioGroup == 3 && 'green'} ${/data/radioGroup == 2 && 'yellow'} ${/data/radioGroup == 1 && 'red'}",
"options": [
{ "value": 1, "label": "one", "cls": "${/data/radioGroup == 1 && 'red'}" },
{ "value": 2, "label": "two", "cls": "${/data/radioGroup == 2 && 'yellow'}" },
{ "value": 3, "label": "three", "cls": "${/data/radioGroup == 3 && 'green'}" }
]
}
]
}
],
"state": {
"data": {
"radioGroup": 2
}
}
}