SelectButton is used to choose single or multiple items from a list using buttons.
import { SelectButtonModule } from 'primeng/selectbutton';
SelectButton requires a value to bind and a collection of options.
<p-selectButton
[options]="stateOptions"
[(ngModel)]="value"
optionLabel="label"
optionValue="value" />
SelectButton can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
<form [formGroup]="formGroup">
<p-selectButton
[options]="stateOptions"
formControlName="value"
optionLabel="label"
optionValue="value" />
</form>
SelectButton allows selecting only one item by default and setting multiple option enables choosing more than one item. In multiple case, model property should be an array.
<p-selectButton
[options]="paymentOptions"
[(ngModel)]="value"
[multiple]="true"
optionLabel="name"
optionValue="value" />
For custom content support define a ng-template with pTemplate where the local ng-template variable refers to an option in the options collection.
<p-selectButton
[options]="justifyOptions"
[(ngModel)]="value"
optionLabel="icon">
<ng-template let-item pTemplate>
<i [class]="item.icon"></i>
</ng-template>
</p-selectButton>
Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
<p-selectButton
[options]="stateOptions"
[(ngModel)]="value"
optionLabel="label"
optionValue="value"
class="ng-invalid ng-dirty" />
When disabled is present, the element cannot be edited and focused entirely. Certain options can also be disabled using the optionDisabled property.
<p-selectButton
[options]="stateOptions"
[(ngModel)]="value1"
optionLabel="label"
optionValue="value"
[disabled]="true" />
<p-selectButton
[options]="stateOptions2"
[(ngModel)]="value2"
optionLabel="label"
optionValue="value"
optionDisabled="constant" />
The container element that wraps the buttons has a group role whereas each button element uses button role and aria-pressed is updated depending on selection state. Value to describe an option is automatically set using the ariaLabel property that refers to the label of an option so it is still suggested to define a label even the option display consists of presentational content like icons only.
Key | Function |
---|---|
tab | Moves focus to the buttons. |
space | Toggles the checked state of a button. |
API defines helper props, events and others for the PrimeNG SelectButton module.
SelectButton is used to choose single or multiple items from a list using buttons.
Defines the input properties of the component.
Defines emit that determine the behavior of the component based on a given condition or report the actions that the component takes.
name | parameters | description | |
---|---|---|---|
onOptionClick | event : SelectButtonOptionClickEvent | ||
onChange | event : SelectButtonChangeEvent |
Defines the templates used by the component.
Defines the custom events used by the component's emitters.
Custom click event.
Custom change event.