Verwende eine RadioGroup, um z. B. ...
-
eine Einfachauswahl von 2 bis ungefähr 7 Optionen anzuzeigen.
-
Optionen mit unterschiedlicher Textlänge darzustellen.
Verwende <RadioGroup />
zusammen mit mehreren <Radio />
, um eine RadioGroup
darzustellen. Über der RadioGroup kann ein beschreibendes
Label verwendet werden. Es kann weggelassen
werden, wenn die RadioGroup ohne verstanden wird oder wenn ein anderes
beschreibendes Element – wie eine Heading – in
der Nähe platziert wird. Wenn kein Label vorhanden ist, muss ein aria-label
gesetzt werden.
import Label from "@mittwald/flow-react-components/Label"; import RadioGroup, { Radio, } from "@mittwald/flow-react-components/RadioGroup"; <RadioGroup defaultValue="admin"> <Label>Rolle</Label> <Radio value="admin">Administrator</Radio> <Radio value="member">Mitglied</Radio> <Radio value="accountant">Buchhalter</Radio> </RadioGroup>
RadioGroups können statt mit einfachen Radios auch mit RadioButtons
gefüllt werden. Ersetze dafür <Radio />
mit <RadioButton />
. Anders als
einfache Radios können RadioButtons mehr Inhalt – wie z. B. eine Überschrift mit
Text und Subtext – darstellen und dürfen auch nebeneinander gesetzt werden.
import Label from "@mittwald/flow-react-components/Label"; import RadioGroup, { RadioButton, } from "@mittwald/flow-react-components/RadioGroup"; <RadioGroup defaultValue="mysql"> <Label>Datenbank-Typ</Label> <RadioButton value="mysql">MySQL</RadioButton> <RadioButton value="redis">Redis</RadioButton> </RadioGroup>
Anstelle einer einfachen Bezeichnung kann der <RadioButton />
auch mit
zusätzlichem Inhalt gefüllt werden. Verwende dazu innerhalb des
<RadioButtons />
Text für eine Überschrift und
<Content />
für Fließtext.
import RadioGroup, { RadioButton, } from "@mittwald/flow-react-components/RadioGroup"; import Text from "@mittwald/flow-react-components/Text"; import Content from "@mittwald/flow-react-components/Content"; <RadioGroup defaultValue="bookDomain" aria-label="Domain" l={[1, 1]} > <RadioButton value="bookDomain"> <Text>Domain buchen</Text> <Content> Du hast eine Wunsch-Domain? Kein Problem, wir helfen dir, die passende Domain für dich zu finden. <br /> <strong> <small>8,28€ jährlich</small> </strong> </Content> </RadioButton> <RadioButton value="moveDomain"> <Text>Domain umziehen</Text> <Content> Du hast schon eine Domain und möchtest sie von deinem jetzigen Anbieter zu mittwald umziehen. <br /> <strong> <small>8,28€ jährlich</small> </strong> </Content> </RadioButton> <RadioButton value="virtualHost"> <Text>Virtual Host einrichten</Text> <Content> Die Domain bleibt bei deinem bisherigen Anbieter, du kannst sie aber für deine Website in unserem mStudio verwenden. <br /> <strong> <small>kostenlos</small> </strong> </Content> </RadioButton> <RadioButton value="subdomain"> <Text>Subdomain anlegen</Text> <Content> Eine Subdomain von einer bereits vorhandenen Domain erstellen, um sie für dein Projekt zu verwenden. <br /> <strong> <small>kostenlos</small> </strong> </Content> </RadioButton> </RadioGroup>
Unterhalb der <Radio />
oder <RadioButton />
kann eine hilfreiche
<FieldDescription />
eingebaut werden.
import { Radio, RadioGroup, } from "@mittwald/flow-react-components/RadioGroup"; import { Heading } from "@mittwald/flow-react-components/Heading"; import { FieldDescription } from "@mittwald/flow-react-components/FieldDescription"; <RadioGroup defaultValue="more"> <Heading level={4}> Wie viele Pflanzen besitzt du? </Heading> <Radio value="more">Mehr als 9 Pflanzen</Radio> <Radio value="6-8">6-8 Pflanzen</Radio> <Radio value="3-5">3-5 9 Pflanzen</Radio> <Radio value="1-2">1-2 Pflanzen</Radio> <Radio value="none">Keine</Radio> <FieldDescription> Mehrere identische Pflanzen in einem Topf gelten als eine Pflanze. </FieldDescription> </RadioGroup>
Die RadioGroup verwendet das ColumnLayout, um eine Anpassung der Spalten zu ermöglichen.
import Label from "@mittwald/flow-react-components/Label"; import RadioGroup, { RadioButton, } from "@mittwald/flow-react-components/RadioGroup"; <RadioGroup defaultValue="one" s={[1, 1]} m={[1, 1, 1]} l={[1, 1, 1, 1]} > <Label>Benutzerdefinierte Spalten</Label> <RadioButton value="one">Spalte 1</RadioButton> <RadioButton value="two">Spalte 2</RadioButton> <RadioButton value="three">Spalte 3</RadioButton> </RadioGroup>
Eine RadioGroup hat 3 States: Default, Disabled und Error. Radios und RadioButtons verfügen über die States Default, Hover, Pressed, Disabled, Focused und Selected.
import { RadioButton, RadioGroup, } from "@mittwald/flow-react-components/RadioGroup"; <RadioGroup defaultValue="selected" l={[1, 1]} aria-label="states" > <RadioButton value="default">Domain buchen</RadioButton> <RadioButton value="selected">Domain buchen</RadioButton> <RadioButton isDisabled value="default"> Domain buchen </RadioButton> <RadioButton isDisabled value="selected"> Domain buchen </RadioButton> </RadioGroup>
Selected: Wenn ein Radio/RadioButton vom User ausgewählt wird, erhält er den State Selected. In einer RadioGroup kann sich immer nur ein Radio/RadioButton in diesem State befinden. In den meisten Fällen ist es sinnvoll, zu Beginn eine Option vorzuselektieren.
Disabled: Wenn die RadioGroup den State Disabled hat, erhalten alle Radios/RadioButtons automatisch ebenfalls diesen State, sodass sie vom User nicht ausgewählt werden können. Es ist auch möglich, einzelne Radios/RadioButtons auf Disabled zu setzen.
import { RadioButton, RadioGroup, } from "@mittwald/flow-react-components/RadioGroup"; import Label from "@mittwald/flow-react-components/Label"; import { FieldError } from "@mittwald/flow-react-components/FieldError"; <RadioGroup isInvalid> <Label>Datenbank-Typ</Label> <RadioButton value="mysql">MySQL</RadioButton> <RadioButton value="redis">Redis</RadioButton> <FieldError>Bitte wähle eine Option aus</FieldError> </RadioGroup>
Error: Ein Error-State sollte angezeigt werden, wenn etwas schiefgelaufen ist (siehe Fehlermeldungen). Da häufig eine Option in der RadioGroup vorselektiert ist, wird das obige Beispiel nur selten benötigt.
Eine RadioGroup enthält mehrere Radios oder RadioButtons als Optionsmöglichkeiten, von denen jeweils nur eine vom User ausgewählt werden kann. Die ausgewählte Option wird durch einen ausgefüllten Kreis gekennzeichnet. Zu Beginn ist häufig eine sinnvolle Option vorausgewählt.
Achte bei der Verwendung einer RadioGroup darauf, dass ...
Verwende eine RadioGroup, um ...
Flow bietet verschiedene Auswahl-Components an. RadioGroup und SegmentedControl ähneln sich sehr. In den Cards unter dem Text sind hilfreiche Anhaltspunkte für eine Abgrenzung.
eine Einfachauswahl von 2 bis ungefähr 7 Optionen anzuzeigen.
Optionen mit unterschiedlicher Textlänge darzustellen.
eine Einfachauswahl von 2 bis 5 Optionen anzuzeigen.
Optionen anzuzeigen, die aus 1 bis 2 Wörtern bestehen.
Optionen anzuzeigen, die den darunterliegenden Inhalt verändern.
RadioGroups werden häufig in Formularen verwendet.
Da RadioGroups aus mehreren Optionen bestehen, müssen diese in eine logische Reihenfolge gebracht werden. Folgende Punkte können dabei interessant sein:
Der User kann hier den letzten Punkt auswählen, wenn die anderen Optionen nicht zutreffen.
Wenn der User woanders wohnt, kann er hier keine richtige Wahl treffen.
Ein Radio besteht aus zwei Bestandteilen: Einem Kreis, der anzeigt, ob eine Option ausgewählt ist oder nicht, und einem kurzen beschreibenden Text. Radios werden immer untereinander angeordnet und werden häufig in Umfragen verwendet.
Auf Benutzeroberflächen sind häufiger RadioButtons anstelle von Radios zu finden. RadioButtons haben den Vorteil, dass ...
Ein Label soll dem User helfen herauszufinden, worum es sich bei der RadioGroup handelt:
Radios und RadioButtons unterscheiden sich in einigen Punkten, die folgenden Punkte sollten jedoch bei beiden berücksichtigt werden:
Die Auswahl ist eindeutig, da sich kein Alter überschneidet.
Die Optionen überschneiden sich hier, sodass einige User zwei Optionen auswählen müssten.
Achte bei der RadioGroup darauf, dass ...