ion-picker-legacy
ion-picker-legacy
は非推奨であり、次のメジャーリリースで削除されます。できるだけ早くion-picker
に移行してください。
ピッカーは、ボタンの行とその下に列を表示するダイアログです。アプリのコンテンツの上、ビューポートの下部に表示されます。
インラインピッカー(推奨)
ion-picker-legacy
は、コンポーネントをテンプレートに直接記述して使用できます。これにより、ピッカーを表示するために必要なハンドラーの数を減らすことができます。
コンソール
上記の例からログ出力されたコンソールメッセージはここに表示されます。
isOpen
の使用
ion-picker-legacy
のisOpen
プロパティを使用すると、アプリケーションの状態からピッカーの表示状態を制御できます。つまり、isOpen
がtrue
に設定されている場合、ピッカーが表示され、isOpen
がfalse
に設定されている場合、ピッカーは閉じられます。
isOpen
は一方向データバインディングを使用しているため、ピッカーが閉じられたときに自動的にfalse
に設定されることはありません。開発者はionPickerDidDismiss
またはdidDismiss
イベントをリッスンし、isOpen
をfalse
に設定する必要があります。これは、ion-picker
の内側をアプリケーションの状態と密接に結合するのを防ぐためです。一方向データバインディングを使用すると、ピッカーは反応型変数が提供するブール値のみを処理する必要があります。双方向データバインディングでは、ピッカーはブール値と反応型変数の存在の両方を処理する必要があります。これは、非決定的な動作につながり、アプリケーションのデバッグを困難にする可能性があります。
コンソール
上記の例からログ出力されたコンソールメッセージはここに表示されます。
コントローラーピッカー
ピッカーの表示と閉じ方をより細かく制御する必要がある場合は、pickerController
を使用できます。
コンソール
上記の例からログ出力されたコンソールメッセージはここに表示されます。
複数の列
columns
プロパティを使用して、異なるオプションの複数の列を持つピッカーを表示できます。
コンソール
上記の例からログ出力されたコンソールメッセージはここに表示されます。
インターフェース
PickerButton
interface PickerButton {
text?: string;
role?: string;
cssClass?: string | string[];
handler?: (value: any) => boolean | void;
}
PickerColumn
interface PickerColumn {
name: string;
align?: string;
/**
* Changing this value allows the initial value of a picker column to be set.
*/
selectedIndex?: number;
prevSelected?: number;
prefix?: string;
suffix?: string;
options: PickerColumnOption[];
cssClass?: string | string[];
columnWidth?: string;
prefixWidth?: string;
suffixWidth?: string;
optionsWidth?: string;
}
PickerColumnOption
interface PickerColumnOption {
text?: string;
value?: any;
disabled?: boolean;
duration?: number;
transform?: string;
selected?: boolean;
/**
* The optional text to assign as the aria-label on the picker column option.
*/
ariaLabel?: string;
}
PickerOptions
interface PickerOptions {
columns: PickerColumn[];
buttons?: PickerButton[];
cssClass?: string | string[];
showBackdrop?: boolean;
backdropDismiss?: boolean;
animated?: boolean;
mode?: Mode;
keyboardClose?: boolean;
id?: string;
htmlAttributes?: { [key: string]: any };
enterAnimation?: AnimationBuilder;
leaveAnimation?: AnimationBuilder;
}
プロパティ
animated
説明 | true の場合、ピッカーはアニメーションします。 |
属性 | animated |
型 | boolean |
デフォルト | true |
backdropDismiss
説明 | true の場合、背景がクリックされるとピッカーは閉じられます。 |
属性 | backdrop-dismiss |
型 | boolean |
デフォルト | true |
buttons
説明 | ピッカーの上部に表示されるボタンの配列。 |
属性 | undefined |
型 | PickerButton[] |
デフォルト | [] |
columns
説明 | ピッカーに表示される列の配列。 |
属性 | undefined |
型 | PickerColumn[] |
デフォルト | [] |
cssClass
説明 | カスタムCSSに適用する追加のクラス。複数のクラスを指定する場合は、スペースで区切る必要があります。 |
属性 | css-class |
型 | string | string[] | undefined |
デフォルト | undefined |
duration
説明 | ピッカーを閉じる前に待機するミリ秒数。 |
属性 | duration |
型 | number |
デフォルト | 0 |
enterAnimation
説明 | ピッカーが表示されるときに使用するアニメーション。 |
属性 | undefined |
型 | ((baseEl: any, opts?: any) => Animation) | undefined |
デフォルト | undefined |
htmlAttributes
説明 | ピッカーに渡す追加の属性。 |
属性 | undefined |
型 | undefined | { [key: string]: any; } |
デフォルト | undefined |
isOpen
説明 | true の場合、ピッカーが開きます。false の場合、ピッカーは閉じます。表示をより細かく制御する必要がある場合はこれを使用し、それ以外の場合はpickerController またはtrigger プロパティを使用します。注:ピッカーが閉じられたときにisOpen は自動的にfalse に戻りません。コードでそれを行う必要があります。 |
属性 | is-open |
型 | boolean |
デフォルト | false |
keyboardClose
説明 | true の場合、オーバーレイが表示されるとキーボードは自動的に閉じられます。 |
属性 | keyboard-close |
型 | boolean |
デフォルト | true |
leaveAnimation
説明 | ピッカーが閉じられるときに使用するアニメーション。 |
属性 | undefined |
型 | ((baseEl: any, opts?: any) => Animation) | undefined |
デフォルト | undefined |
mode
説明 | モードは、使用するプラットフォームスタイルを決定します。 |
属性 | mode |
型 | "ios" | "md" |
デフォルト | undefined |
showBackdrop
説明 | true の場合、ピッカーの後ろに背景が表示されます。 |
属性 | show-backdrop |
型 | boolean |
デフォルト | true |
trigger
説明 | クリックされたときにピッカーを開くトリガー要素に対応するID。 |
属性 | trigger |
型 | string | undefined |
デフォルト | undefined |
イベント
名前 | 説明 | バブル |
---|---|---|
didDismiss | ピッカーが閉じられた後に送信されます。ionPickerDidDismissの省略形。 | true |
didPresent | ピッカーが表示された後に送信されます。ionPickerWillDismissの省略形。 | true |
ionPickerDidDismiss | ピッカーが閉じられた後に送信されます。 | true |
ionPickerDidPresent | ピッカーが表示された後に送信されます。 | true |
ionPickerWillDismiss | ピッカーが閉じられる前に送信されます。 | true |
ionPickerWillPresent | ピッカーが表示される前に送信されます。 | true |
willDismiss | ピッカーが閉じられる前に送信されます。ionPickerWillDismissの省略形。 | true |
willPresent | ピッカーが表示される前に送信されます。ionPickerWillPresentの省略形。 | true |
メソッド
dismiss
説明 | 表示された後にピッカーオーバーレイを閉じます。 |
シグネチャ | dismiss(data?: any, role?: string) => Promise<boolean> |
getColumn
説明 | 指定された名前に一致する列を取得します。 |
シグネチャ | getColumn(name: string) => Promise<PickerColumn | undefined> |
onDidDismiss
説明 | ピッカーが閉じられた時に解決されるPromiseを返します。 |
シグネチャ | onDidDismiss<T = any>() => Promise<OverlayEventDetail<T>> |
onWillDismiss
説明 | ピッカーが閉じられる時に解決されるPromiseを返します。 |
シグネチャ | onWillDismiss<T = any>() => Promise<OverlayEventDetail<T>> |
present
説明 | 作成後、ピッカーオーバーレイを表示します。 |
シグネチャ | present() => Promise<void> |
CSSシャドウパーツ
このコンポーネントにはCSSシャドウパーツはありません。
CSSカスタムプロパティ
- iOS
- MD
名前 | 説明 |
---|---|
--backdrop-opacity | 背景の不透明度 |
--background | ピッカーの背景 |
--background-rgb | ピッカーの背景(RGB形式) |
--border-color | ピッカーの枠線の色 |
--border-radius | ピッカーの枠線の丸み |
--border-style | ピッカーの枠線のスタイル |
--border-width | ピッカーの枠線の幅 |
--height | ピッカーの高さ |
--max-height | ピッカーの最大高さ |
--max-width | ピッカーの最大幅 |
--min-height | ピッカーの最小高さ |
--min-width | ピッカーの最小幅 |
--width | ピッカーの幅 |
名前 | 説明 |
---|---|
--backdrop-opacity | 背景の不透明度 |
--background | ピッカーの背景 |
--background-rgb | ピッカーの背景(RGB形式) |
--border-color | ピッカーの枠線の色 |
--border-radius | ピッカーの枠線の丸み |
--border-style | ピッカーの枠線のスタイル |
--border-width | ピッカーの枠線の幅 |
--height | ピッカーの高さ |
--max-height | ピッカーの最大高さ |
--max-width | ピッカーの最大幅 |
--min-height | ピッカーの最小高さ |
--min-width | ピッカーの最小幅 |
--width | ピッカーの幅 |
スロット
このコンポーネントにはスロットはありません。