跳到主要內容

Alert

啟動一個具有指定標題和訊息的警示對話框。

可選擇性地提供按鈕列表。點擊任何按鈕將觸發各自的 onPress 回調並關閉警示。預設情況下,只會有一個「確定」按鈕。

這是一個在 Android 和 iOS 上都能運作的 API,並且可以顯示靜態警示。提示使用者輸入某些資訊的警示僅在 iOS 上可用。

範例

iOS

在 iOS 上,您可以指定任意數量的按鈕。每個按鈕都可以選擇性地指定樣式或強調,可用選項由 AlertButtonStyle 列舉和 AlertButton 上的 isPreferred 欄位表示。

Android

在 Android 上,最多可以指定三個按鈕。Android 有中性、否定和肯定按鈕的概念

  • 如果您指定一個按鈕,它將是「肯定」按鈕(例如「確定」)
  • 兩個按鈕表示「否定」、「肯定」(例如「取消」、「確定」)
  • 三個按鈕表示「中性」、「否定」、「肯定」(例如「稍後」、「取消」、「確定」)

Android 上的警示可以透過點擊警示框外部來關閉。預設情況下它是禁用的,並且可以透過提供一個可選的 AlertOptions 參數並將 cancelable 屬性設定為 true 來啟用,例如:
{cancelable: true}.

取消事件可以透過在 options 參數內提供 onDismiss 回調屬性來處理。

範例
Android


參考

方法

alert()

tsx
static alert (
title: string,
message?: string,
buttons?: AlertButton[],
options?: AlertOptions,
);

參數

名稱類型描述
title
必填
字串對話框的標題。傳遞 null 或空字串將隱藏標題。
message字串一個可選訊息,顯示在對話框標題下方。
buttonsAlertButton[]一個可選陣列,包含按鈕配置。
optionsAlertOptions一個可選的警示配置。

prompt()
iOS

tsx
static prompt: (
title: string,
message?: string,
callbackOrButtons?: ((text: string) => void) | AlertButton[],
type?: AlertType,
defaultValue?: string,
keyboardType?: string,
);

建立並顯示一個提示,以輸入文字形式的警示。

參數

名稱類型描述
title
必填
字串對話框的標題。
message字串一個可選訊息,顯示在文字輸入框上方。
callbackOrButtons函式
AlertButton[]
如果傳遞一個函式,當使用者點擊「確定」時,將會以提示的值呼叫該函式
(text: string) => void
如果傳遞一個陣列,按鈕將根據陣列內容進行配置。
typeAlertType這會配置文字輸入框。
defaultValue字串文字輸入框中的預設文字。
keyboardType字串第一個文字欄位的鍵盤類型(如果存在)。TextInput keyboardTypes 之一。
optionsAlertOptions一個可選的警示配置。

類型定義

AlertButtonStyle
iOS

iOS 警示按鈕樣式。

類型
列舉

常數

描述
'default'預設按鈕樣式。
'cancel'取消按鈕樣式。
'destructive'破壞性按鈕樣式。

AlertType
iOS

iOS 警示類型。

類型
列舉

常數

描述
'default'沒有輸入的預設警示
'plain-text'純文字輸入警示
'secure-text'安全文字輸入警示
'login-password'登入和密碼警示

AlertButton

描述警示中按鈕配置的物件。

類型
物件陣列

物件屬性

名稱類型描述
text字串按鈕標籤。
onPress函式按下按鈕時的回調函式。
style
iOS
AlertButtonStyle按鈕樣式,在 Android 上此屬性將被忽略。
isPreferred
iOS
布林值按鈕是否應被強調,在 Android 上此屬性將被忽略。

AlertOptions

類型
物件

屬性

名稱類型描述
cancelable
Android
布林值定義是否可以透過點擊警示框外部來關閉警示。
userInterfaceStyle
iOS
字串用於警示的介面樣式,可以設定為 lightdark,否則將使用預設系統樣式。
onDismiss
Android
函式警示關閉時觸發的回調函式。