Appearance
Radio Group 
The Radio Group element allows you to create sets of radio buttons where users can select only one option at a time. It's perfect for forms, surveys, settings panels, and any scenario where you need users to make a single choice from multiple options.
Features 
- Single selection: Only one radio button can be selected at a time within the group
 - Dynamic data binding: Connect to collections or define static options with custom labels and values
 - Flexible layouts: Choose between horizontal or vertical arrangements with customizable spacing
 - Form integration: Works seamlessly with form validation and submission workflows
 
Getting started 
Using AI 
The quickest way to set up a Radio Group is by using AI:
Ask AI to add a radio group. Make sure to specify:
- The options you want to include
 - Layout preferences (horizontal or vertical)
 - Any specific styling requirements
 
Example prompt: "Add a radio group with options for Small, Medium, and Large sizes arranged horizontally"
The AI will create your styled radio group with the specified options
Continue refining your radio group by asking AI for specific modifications:
- "Make the radio buttons arrange vertically with more spacing"
 - "Change the options to Yes/No/Maybe"
 - "Connect this radio group to my products collection"
 
Manual setup 
- Add the Radio Group element to your page from the 
Addpanel - Configure your options in the 
Choices valuesproperty - you can either:- Define static options with custom labels and values
 - Bind to a collection for dynamic options
 
 - Set the 
Init valueto specify which option should be selected by default - Choose your layout direction (
VerticalorHorizontal) in the styling section - Adjust spacing with 
Rows gapandColumns gapproperties 
Configuring radio options 
Static options 
For fixed sets of choices, define options directly in the Choices values property:
- Click the 
Choices valuesproperty - Add each option with: 
- Label: The text displayed to users
 - Value: The underlying value sent when the option is selected
 
 - Use different labels and values when you need user-friendly display text with specific data values
 
Dynamic options from collections 
When your options come from a database or collection:
- Bind the 
Choices valuesproperty to your collection - Set the 
Label fieldto specify which property contains the display text - Set the 
Value fieldto specify which property contains the option values - The radio group will automatically update when your collection changes
 
Layout and styling 
Direction and spacing 
Control how your radio buttons are arranged:
- Direction: Choose 
Verticalfor stacked buttons orHorizontalfor side-by-side layout - Rows gap: Adjust vertical spacing between radio buttons
 - Columns gap: Control horizontal spacing when using horizontal layout
 - Wrap elements: Allow radio buttons to wrap to new lines in horizontal layouts
 
Alignment options 
Fine-tune the positioning of your radio buttons:
- Justify: Control how buttons are distributed along the main axis (start, center, end, space-around, space-between)
 - Alignment: Set how buttons align along the cross axis (start, center, end, stretch, baseline)
 
Form integration 
Validation 
Make your radio group required for form validation:
- Enable the 
Requiredproperty - Users must select an option before the form can be submitted
 - The validation works with WeWeb's form submission workflows
 
Default values 
Set an initial selection with the Init value property:
- Enter the exact value (not the label) of the option you want selected by default
 - Leave empty if no initial selection is needed
 - The value will automatically trigger the 
On Init value changeevent 
Example use cases 
Product size selector 
Create a size selector for an e-commerce product page:
- Set up options with values like "S", "M", "L", "XL" and labels like "Small", "Medium", "Large", "Extra Large"
 - Use horizontal layout with center alignment
 - Connect the selected value to your cart or product configuration
 
Survey questions 
Build survey forms with single-choice questions:
- Bind options to a collection containing your question choices
 - Use vertical layout for better readability
 - Make the field required to ensure complete responses
 - Use the 
On Changeevent to save responses automatically 
Settings panels 
Create configuration interfaces with radio button options:
- Define options for different modes or preferences
 - Use the selected value to control other elements' behavior
 - Set a sensible default with the 
Init valueproperty 
Quiz applications 
Build interactive quizzes with single-answer questions:
- Create dynamic options from your quiz data collection
 - Use the 
On Changeevent to track user selections 
Preference selectors 
Allow users to choose from predefined preferences:
- Set up options like "Light", "Dark", "Auto" for theme selection
 - Use the selected value to control your app's appearance
 - Persist the selection in user preferences or local storage
 
Best practices 
Do: 
- Use clear, concise labels that make the choice obvious
 - Set reasonable default values when appropriate
 - Test your radio groups across different screen sizes
 - Use consistent styling across similar radio groups in your app
 
Don't: 
- Create radio groups with too many options (consider dropdowns for 6+ choices)
 - Use radio buttons when multiple selection is needed (use checkboxes instead)
 - Make labels too long or confusing
 - Forget to handle the case where no option is selected
 
Forking 
While the Radio Group element offers extensive built-in customization options, there may be cases where you need functionality beyond what's natively available. In these situations, you can fork the element and modify it to meet your specific requirements.
If you are unsure how to fork an element, you can learn more in the dedicated documentation.
Forking example: Custom radio button styles 
One reason to fork the Radio Group would be to create completely custom radio button designs:
Adjust the radio group element and modify the styling to use custom icons instead of standard radio buttons.This would allow you to create radio groups with custom icons.
Settings 
| Property | Options/Type | Description | 
|---|---|---|
| Choices values | Array | The options available for selection. Can be static array or bound to collection | 
| Init value | Text | The default selected value when the radio group first loads | 
| Label field | Object Property | When bound to collection, specifies which field contains the display text | 
| Value field | Object Property | When bound to collection, specifies which field contains the option values | 
| Required | Boolean | Whether a selection is required for form validation | 
Styling 
| Property | Description | 
|---|---|
| Direction | Layout direction - Vertical or Horizontal | 
| Rows gap | Vertical spacing between radio button rows | 
| Columns gap | Horizontal spacing between radio button columns | 
| Justify | How radio buttons are distributed along main axis | 
| Alignment | How radio buttons align along cross axis | 
| Wrap elements | Whether horizontal radio buttons wrap to new lines | 
Event triggers 
| Event | Description | Payload | 
|---|---|---|
| On Change | Triggered when user selects a different option | { value } | 
| On Init value change | Triggered when the initial value is set or changed | { value } | 
Example event payloads 
On Change 
javascript
{
  "value": "selected_option_value"
}On Init value change 
javascript
{
  "value": "initial_option_value"
}Exposed variables 
| Variable | Type | Description | 
|---|---|---|
| value | String | The currently selected option's value | 

