**ChoiceGroup** Radio,RadioButton,RadioGroup,RadioButtonGroup ChoiceGroup let people select a single option from two or more choices.
**Basic**:
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
**Disabled**:
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
private readonly List> disabledItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C", IsEnabled = false },
new() { Text = "Item D", Value = "D" }
];
**Images and Icons**:
private readonly List> imageItems =
[
new()
{
Text = "Bar",
Value = "Bar",
ImageAlt = "alt for Bar image",
ImageSize = new BitImageSize(32, 32),
ImageSrc= "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-bar-unselected.png",
SelectedImageSrc = "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-bar-selected.png",
},
new()
{
Text = "Pie",
Value = "Pie",
ImageAlt = "alt for Pie image",
ImageSize = new BitImageSize(32, 32),
ImageSrc= "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-pie-unselected.png",
SelectedImageSrc = "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-pie-selected.png",
}
];
private readonly List> inlineImageItems =
[
new()
{
Text = "Bar",
Value = "Bar",
ImageAlt = "alt for Bar image",
ImageSize = new BitImageSize(20, 20),
ImageSrc= "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-bar-unselected.png",
SelectedImageSrc = "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-bar-selected.png",
},
new()
{
Text = "Pie",
Value = "Pie",
ImageAlt = "alt for Pie image",
ImageSize = new BitImageSize(20, 20),
ImageSrc= "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-pie-unselected.png",
SelectedImageSrc = "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-pie-selected.png",
}
];
private readonly List> iconItems =
[
new() { Text = "Day", Value = "Day", IconName = BitIconName.CalendarDay },
new() { Text = "Week", Value = "Week", IconName = BitIconName.CalendarWeek },
new() { Text = "Month", Value = "Month", IconName = BitIconName.Calendar, IsEnabled = false }
];
**Horizontal**:
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
private readonly List> imageItems =
[
new()
{
Text = "Bar",
Value = "Bar",
ImageAlt = "alt for Bar image",
ImageSize = new BitImageSize(32, 32),
ImageSrc= "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-bar-unselected.png",
SelectedImageSrc = "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-bar-selected.png",
},
new()
{
Text = "Pie",
Value = "Pie",
ImageAlt = "alt for Pie image",
ImageSize = new BitImageSize(32, 32),
ImageSrc= "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-pie-unselected.png",
SelectedImageSrc = "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-pie-selected.png",
}
];
private readonly List> iconItems =
[
new() { Text = "Day", Value = "Day", IconName = BitIconName.CalendarDay },
new() { Text = "Week", Value = "Week", IconName = BitIconName.CalendarWeek },
new() { Text = "Month", Value = "Month", IconName = BitIconName.Calendar, IsEnabled = false }
];
**Reversed**:
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
private readonly List> imageItems =
[
new()
{
Text = "Bar",
Value = "Bar",
ImageAlt = "alt for Bar image",
ImageSize = new BitImageSize(32, 32),
ImageSrc= "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-bar-unselected.png",
SelectedImageSrc = "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-bar-selected.png",
},
new()
{
Text = "Pie",
Value = "Pie",
ImageAlt = "alt for Pie image",
ImageSize = new BitImageSize(32, 32),
ImageSrc= "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-pie-unselected.png",
SelectedImageSrc = "https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/choicegroup-pie-selected.png",
}
];
private readonly List> iconItems =
[
new() { Text = "Day", Value = "Day", IconName = BitIconName.CalendarDay },
new() { Text = "Week", Value = "Week", IconName = BitIconName.CalendarWeek },
new() { Text = "Month", Value = "Month", IconName = BitIconName.Calendar, IsEnabled = false }
];
**LabelTemplate**:
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
**Item templates**:
@(item.Index + 1).
@item.Text
private string itemTemplateValue = "Day";
private string itemTemplateValue2 = "Day";
private string itemLabelTemplateValue = "Day";
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
private readonly List> itemLabelTemplates =
[
new() { Text = "Day", Value = "Day", IconName = BitIconName.CalendarDay },
new() { Text = "Week", Value = "Week", IconName = BitIconName.CalendarWeek },
new() { Text = "Month", Value = "Month", IconName = BitIconName.Calendar }
];
private readonly List> itemTemplateItems =
[
new() { Text = "Day", Value = "Day" },
new() { Text = "Week", Value = "Week" },
new() { Text = "Month", Value = "Month" }
];
private List> itemTemplateItems2 = default!;
protected override void OnInitialized()
{
itemTemplateItems2 = new()
{
new()
{
Text = "Day",
Value = "Day",
Template = (item => @
private string oneWayValue = "A";
private string twoWayValue = "A";
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
**Validation**:
Submit
public class ChoiceGroupValidationModel
{
[Required(ErrorMessage = "Pick one")]
public string Value { get; set; }
}
public ChoiceGroupValidationModel validationModel = new();
private void HandleValidSubmit() { }
private void HandleInvalidSubmit() { }
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
**Size**:
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
private readonly List> iconItems =
[
new() { Text = "Day", Value = "Day", IconName = BitIconName.CalendarDay },
new() { Text = "Week", Value = "Week", IconName = BitIconName.CalendarWeek },
new() { Text = "Month", Value = "Month", IconName = BitIconName.Calendar, IsEnabled = false }
];
**Color**:
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
**External Icons**:
private readonly List> externalIconItems =
[
new() { Text = "Day", Value = "Day", Icon = BitIconInfo.Fa("solid sun") },
new() { Text = "Week", Value = "Week", Icon = BitIconInfo.Css("fa-solid fa-calendar-week") },
new() { Text = "Month", Value = "Month", Icon = BitIconInfo.Bi("calendar-month") }
];
**Style & Class**:
private readonly List> basicItems =
[
new() { Text = "Item A", Value = "A" },
new() { Text = "Item B", Value = "B" },
new() { Text = "Item C", Value = "C" },
new() { Text = "Item D", Value = "D" }
];
private readonly List> itemStyleClassItems =
[
new() { Text = "Item A", Value = "A", Class = "custom-item" },
new() { Text = "Item B", Value = "B", Style = "padding: 8px; border-radius: 20px; border: 1px solid gray;" },
new() { Text = "Item C", Value = "C", Class = "custom-item" },
new() { Text = "Item D", Value = "D", Class = "custom-item" }
];
**RTL**:
private readonly List> rtlItems = new()
{
new() { Text = "بخش آ", Value = "A" },
new() { Text = "بخش ب", Value = "B" },
new() { Text = "بخش پ", Value = "C" },
new() { Text = "بخش ت", Value = "D" }
};
Custom label
@item.Text
@item.Text
)
},
new()
{
Text = "Week",
Value = "Week",
Template = (item => @
@item.Text
)
},
new()
{
Text = "Month",
Value = "Month",
Template = (item => @
@item.Text
)
}
};
}
**Binding**: