igx-checkbox

November 19, 2025 ยท View on GitHub

igx-checkbox is a selection component that allows users to make a binary choice for a certain condition. It behaves similar to the native browser checkbox.
A walkthrough of how to get started can be found here

Usage

Basic usage of igx-checkbox

<ul>
    <li *ngFor="let task of tasks">
        <igx-checkbox [checked]="task.done" (change)="handler($event)">
            {{ task.description }}
        </igx-checkbox>
    </li>
</ul>

You can easily use it within forms with [(ngModel)]

<form (submit)="saveForm()">
    <div *ngIf="order.items">
        <div *ngFor="let item of order.items">
            <igx-checkbox [disabled]="order.completed || order.canceled"
                         [checked]="order.completed"
                         [(ngModel)]="item.completed">
                {{ item.description }
            </igx-checkbox>
        </div>
    </div>
</form>

Checkbox Label

The checkbox label is set to anything passed between the opening and closing tags of the <igx-checkbox> component.

The position of the label can be set to either before or after(default) the actual checkbox using the labelPosition input property. For instance, to set the label position before the checkbox:

<igx-checkbox labelPosition="before">Label</igx-checkbox>

Indeterminate State

The checkbox component supports an indeterminate state, which behaves the same as the native indeterminate state of an input of type checkbox. To set the indeterminate state for an igx-checkbox, do:

<igx-checkbox [indeterminate]="'true'">Label</igx-checkbox>

Ripple Touch Feedback

The igx-checkbox is styled according to the Google's Material spec, and provides a ripple effect around the checkbox when the checkbox is clicked/tapped. To disable the ripple effect, do:

<igx-checkbox [disableRipple]="'true'"></igx-checkbox>

API

API Summary

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

Methods

toggle
Toggles the checked state of the checkbox.