跳至主要內容
版本:v8

ion-picker-legacy

已限定範圍
已棄用通知

ion-picker-legacy 已被棄用,並將在下一個主要版本中移除。請盡快遷移至 ion-picker

選擇器是一個對話框,會在底部顯示一排按鈕和欄位。它會顯示在應用程式內容之上和視窗的底部。

可以透過在樣板中直接撰寫元件來使用 ion-picker-legacy。這樣可以減少您需要連線才能顯示選擇器的處理常式數量。

主控台
當從上方範例記錄時,主控台訊息將會顯示在這裡。

使用 isOpen

ion-picker-legacy 上的 isOpen 屬性可讓開發人員從應用程式狀態控制選擇器的呈現狀態。這表示當 isOpen 設定為 true 時,將會顯示選擇器;當 isOpen 設定為 false 時,將會關閉選擇器。

isOpen 使用單向資料繫結,這表示當選擇器關閉時,不會自動設定回 false。開發人員應該監聽 ionPickerDidDismissdidDismiss 事件,並將 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,該 Promise 在選取器關閉後解析。
簽章onDidDismiss<T = any>() => Promise<OverlayEventDetail<T>>

onWillDismiss

描述返回一個 Promise,該 Promise 在選取器即將關閉時解析。
簽章onWillDismiss<T = any>() => Promise<OverlayEventDetail<T>>

present

描述在建立選取器覆蓋層後顯示它。
簽章present() => Promise<void>

CSS 陰影部分

此元件沒有可用的 CSS 陰影部分。

CSS 自訂屬性

名稱描述
--backdrop-opacity背景幕的透明度
--background選取器的背景
--background-rgb選取器的背景,以 rgb 格式表示
--border-color選取器的邊框顏色
--border-radius選取器的邊框半徑
--border-style選取器的邊框樣式
--border-width選取器的邊框寬度
--height選取器的高度
--max-height選取器的最大高度
--max-width選取器的最大寬度
--min-height選取器的最小高度
--min-width選取器的最小寬度
--width選取器的寬度

插槽

此元件沒有可用的插槽。