Radio

The e-radio-group and e-radio components handle exclusive selection inside the shared field system, including validation, row or column layout, and centralized color, disabled, and readonly behavior.

Use this page to validate grouped choice flows before wiring release tracks, environments, or preference selections into production forms.

Usage

Use this baseline playground to configure group behavior in context: row layout, color, outlined, disabled, readonly, tonal, and retain-color.

Choose the preferred channel for release updates.
primary

Layout and direction

Compare row and column layouts to match density, label length, and available horizontal space.

Use row for compact option sets and column for longer labels.
Use row for compact option sets and column for longer labels.

Visual variants

Compare default, outlined, tonal, retain-color, disabled, and readonly group states to keep exclusive selection clear in dense forms.

Mandatory selection

Use mandatory when the group must always resolve to one valid option, even if the incoming model is empty.

Current model value:
Mandatory selects the first available option when no valid value exists.

Named slots

Use the label slot on both e-radio-group and e-radio when the copy needs richer inline content.

Validation

Validate required choice flows with explicit submit-state feedback before continuing a critical configuration step.

Submit to validate the radio group rule.

Props

Use the API table as the source of truth for ERadioGroup and ERadio props, defaults, and inherited field behavior.

PropertyTypeDefault
ERadioGroup.modelValuestring | number | null | undefinedundefined

Current selected value for the group. A child radio is active when its modelValue matches this value exactly.

ERadioGroup.mandatorybooleanfalse

When enabled and no valid selection exists, initializes the first available radio on mount.

ERadioGroup.rowbooleanfalse

Lays out child radios horizontally. When omitted, the group is rendered as a column.

ERadioGroup.tonalbooleanfalse

Shows field overlay styling on the group container without changing selection behavior.

clearablebooleanfalse

Shows clear action when a value exists.

colorstring"primary"

Base theme color applied to field state and interactions.

outlinedbooleanfalse

Uses outlined visual variant for the field container.

disabledbooleanfalse

Disables interaction and prevents value updates.

readonlybooleanfalse

Prevents editing while preserving focus behavior.

densebooleanfalse

Applies denser vertical spacing inherited from Field.

retainColorbooleanfalse

Keeps active color styling after focus/interaction.

labelstring | numberundefined

Field label text.

labelMinWidthstring | numberundefined

Minimum width reserved for label region.

labelBehavior"static""static"

Label behavior is static for radio group controls.

inputAlignleft | right | center | start | end"start"

Horizontal text alignment inside input/selection area.

prependIconstring | IconPath | IconPath[]undefined

Icon rendered in outer-left affix region.

prependInnerIconstring | IconPath | IconPath[]undefined

Icon rendered before content inside input frame.

appendInnerIconstring | IconPath | IconPath[]undefined

Icon rendered after content inside input frame.

appendIconstring | IconPath | IconPath[]undefined

Icon rendered in outer-right affix region.

detailstringundefined

Helper text shown in details area when no errors are present.

detailsOnMessageOnlybooleanfalse

Shows details area only when messages/errors exist.

rulesFieldRule[]undefined

Validation rules evaluated against modelValue.

detailErrorsstring[]undefined

Explicit error messages rendered in details area.

ERadio.modelValuestring | number | null | undefinedundefined

Value represented by the individual option. This must be used inside ERadioGroup.

ERadio.labelstring | numberundefined

Visible label text for the individual option.