igx-radio

November 19, 2025 ยท View on GitHub

igx-radio renders a set of radio buttons to allow the user make a choice and submit data. The user is able to select just one from the available options.
A walkthrough of how to get started can be found here

Usage

A number of options, attributes and events are available to customize the component look and feel and the way the radio button is working.

IMPORTANT

Currently the checked state of radio button will update automatically only when its value is bound to ngModel. See the samples below for reference.

Initialize

<igx-radio
    *ngFor="let item of ['Foo', 'Bar', 'Baz']"
    value="{{item}}"
    name="group"
    [(ngModel)]="user.favouriteVarName">
    {{item}}
</igx-radio>

The above markup will render three radio buttons, one for each item of the ['Foo', 'Bar', 'Baz'] array. The value property is mapped to the input element value attribute, while the content of the tag is what gets displayed in the label associated with the input.

You can assign unique ids by using the 'id' property. Use the 'name' property to group buttons together.

The rest of the properties are also standard and control the tabindex, disabled and checked attributes of the input element that gets rendered:

<igx-radio
    id="{{user.id}}"
    value="{{user.manHours}}"
    [tabindex]="50"
    [disabled]="false"
    [checked]="false"
    [(ngModel)]="user.favouriteVarName">
    {{item}}
</igx-radio>

You can attach to a change event using (onchange)="doAlert($event)":

<igx-radio
	value="{{user.id}}"
	tabIndex="50"
	(change)="doAlert($event)"
	(focus)="doAlert($event)"
	(blur)="doAlert($event)"
	[(ngModel)]="user.favouriteVarName">
	{{user.name}}
</igx-radio>
import { Component } from "@angular/core";
import { IgxRadioModule } from "../../src/radio/radio";

@Component({
    selector: "radio-button",
    templateUrl: "radio-button.html"
})
export class RadioSampleComponent {
    user = {
        name: 'John Doe',
        favouriteVarName: 'Foo',
        id: 12,
    };

    doAlert() {
        alert("Thank you for selecting this option!");
    }
}

API Summary

NameTypeDescription
@Input() idstringThe unique id attribute to be used for the radio button. If you do not provide a value, it will be auto-generated.
@Input() labelIdstringThe unique id attribute to be used for the radio button label. If you do not provide a value, it will be auto-generated.
@Input() namestringThe name attribute to be used for the radio button.
@Input() valueanyThe value to be set for the radio button.
@Input() tabindexnumberSpecifies the tabbing order of the radio button.
@Input() checkedbooleanSpecifies the checked state of the radio button.
@Input() requiredbooleanSpecifies the required state of the radio button.
@Input() disabledbooleanSpecifies the disabled state of the radio button.
@Input() disableRipplebooleanSpecifies the whether the ripple effect should be disabled for the radio button.
@Input() labelPositionstring `` enum RadioLabelPosition
@Input("aria-labelledby") ariaLabelledBystringSpecify an external element by id to be used as label for the radio button.
@Output() changeEventEmitterEmitted when the radio button checked value changes.

Methods

select
Selects the radio button.