Skip to main content
Version: v8 (beta)

ion-picker

shadow

A Picker displays one or more columns with options for users to choose from.

<ion-picker>
<ion-picker-column value="javascript">
<ion-picker-column-option value="" disabled="true">--</ion-picker-column-option>
<ion-picker-column-option value="javascript">Javascript</ion-picker-column-option>
<ion-picker-column-option value="typescript">Typescript</ion-picker-column-option>
<ion-picker-column-option value="rust">Rust</ion-picker-column-option>
<ion-picker-column-option value="c#">C#</ion-picker-column-option>
</ion-picker-column>
</ion-picker>

Prefix & Suffix Content

Use the prefix and suffix slots to add additional content to the picker.

<ion-picker>
<ion-picker-column [value]="1">
<div slot="prefix">$</div>
<ion-picker-column-option value="" disabled="true">--</ion-picker-column-option>
<ion-picker-column-option [value]="1">1</ion-picker-column-option>
<ion-picker-column-option [value]="2">2</ion-picker-column-option>
<ion-picker-column-option [value]="3">3</ion-picker-column-option>
<ion-picker-column-option [value]="4">4</ion-picker-column-option>
<ion-picker-column-option [value]="5">5</ion-picker-column-option>
<div slot="suffix">USD</div>
</ion-picker-column>
</ion-picker>

Theming

CSS Variables

The picker highlight and fade can be customized using CSS variables on ion-picker. Developers can customize the individual appearance of ion-picker-column-options by targeting them directly and using host level styling.

<ion-picker>
<ion-picker-column value="red">
<ion-picker-column-option value="" disabled="true">--</ion-picker-column-option>
<ion-picker-column-option value="red">Red</ion-picker-column-option>
<ion-picker-column-option value="blue">Blue</ion-picker-column-option>
<ion-picker-column-option value="green">Green</ion-picker-column-option>
</ion-picker-column>
</ion-picker>

Picker in Modal

Pickers can be displayed inside of overlays, such as ion-modal to create a picker experience with confirmation or cancellation buttons.

Console
Console messages will appear here when logged from the example above.
<ion-button id="open-modal">Open modal</ion-button>
<ion-modal #modal trigger="open-modal" [isOpen]="true" (didDismiss)="onDidDismiss($event)">
<ng-template>
<ion-toolbar>
<ion-buttons slot="start">
<ion-button (click)="modal.dismiss(null, 'cancel')">Cancel</ion-button>
</ion-buttons>
<ion-buttons slot="end">
<ion-button (click)="modal.dismiss(currentValue, 'confirm')">Done</ion-button>
</ion-buttons>
</ion-toolbar>
<ion-picker>
<ion-picker-column [value]="currentValue" (ionChange)="onIonChange($event)">
<ion-picker-column-option value="" disabled="true">--</ion-picker-column-option>
<ion-picker-column-option value="javascript">Javascript</ion-picker-column-option>
<ion-picker-column-option value="typescript">Typescript</ion-picker-column-option>
<ion-picker-column-option value="rust">Rust</ion-picker-column-option>
<ion-picker-column-option value="c#">C#</ion-picker-column-option>
</ion-picker-column>
</ion-picker>
</ng-template>
</ion-modal>

Properties

mode

DescriptionThe mode determines which platform styles to use.
Attributemode
Type"ios" | "md"
Defaultundefined

Events

NameDescription
ionInputModeChange

Methods

No public methods available for this component.

CSS Shadow Parts

No CSS shadow parts available for this component.

CSS Custom Properties

NameDescription
--fade-background-rgbBackground of the gradient covering non-selected items in rgb format
--highlight-backgroundBackground of the picker highlight for the selected item
--highlight-border-radiusBorder radius of the picker highlight for the selected item

Slots

No slots available for this component.