跳到主要内容

Alert

使用指定的标题和消息启动一个警报对话框。

可以选择提供一个按钮列表。点击任何按钮都将触发相应的 onPress 回调并关闭警报。默认情况下,唯一的按钮将是“OK”按钮。

这是一个在 Android 和 iOS 上都可用的 API,可以显示静态警报。提示用户输入信息的警报仅在 iOS 上可用。

示例

iOS

在 iOS 上,您可以指定任意数量的按钮。每个按钮都可以选择指定样式或被强调,可用选项由 AlertButtonStyle 枚举和 AlertButton 上的 isPreferred 字段表示。

Android

在 Android 上,最多可以指定三个按钮。Android 有中性、否定和积极按钮的概念。

  • 如果您指定一个按钮,它将是“积极的”按钮(例如“OK”)
  • 两个按钮表示“否定”,“积极”(例如“取消”,“OK”)
  • 三个按钮表示“中性”,“否定”,“积极”(例如“稍后”,“取消”,“OK”)

Android 上的警报可以通过点击警报框外部来关闭。默认情况下它是禁用的,可以通过提供一个可选的 AlertOptions 参数并将 cancelable 属性设置为 true 来启用,即
{cancelable: true}.

可以通过在 options 参数中提供 onDismiss 回调属性来处理取消事件。

示例
Android


参考

方法

alert()

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

参数

姓名类型描述
标题
必需
字符串对话框的标题。传递 null 或空字符串将隐藏标题。
message字符串一个可选消息,显示在对话框标题下方。
buttonsAlertButton[]一个包含按钮配置的可选数组。
选项AlertOptions一个可选的警报配置。

prompt()
iOS

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

创建并显示一个以警报形式输入文本的提示。

参数

姓名类型描述
标题
必需
字符串对话框的标题。
message字符串一个可选消息,显示在文本输入上方。
callbackOrButtons函数
AlertButton[]
如果传入一个函数,当用户点击“OK”时,它将使用提示的值 (text: string) => void 进行调用。
(text: string) => void,当用户点击“OK”时。
如果传入一个数组,按钮将根据数组内容进行配置。
类型AlertType这配置了文本输入。
defaultValue字符串文本输入中的默认文本。
keyboardType字符串第一个文本字段(如果存在)的键盘类型。TextInput keyboardTypes 中的一个。
选项AlertOptions一个可选的警报配置。

类型定义

AlertButtonStyle
iOS

iOS 警报按钮样式。

类型
enum

常量

描述
'default'默认按钮样式。
'cancel'取消按钮样式。
'destructive'破坏性按钮样式。

AlertType
iOS

iOS 警报类型。

类型
enum

常量

描述
'default'无输入的默认警报
'plain-text'纯文本输入警报
'secure-text'安全文本输入警报
'login-password'登录和密码警报

AlertButton

描述警报中按钮配置的对象。

类型
对象数组

对象属性

姓名类型描述
文本字符串按钮标签。
按下函数按钮被按下时的回调函数。
style
iOS
AlertButtonStyle按钮样式,在 Android 上此属性将被忽略。
isPreferred
iOS
布尔值按钮是否应被强调,在 Android 上此属性将被忽略。

AlertOptions

类型
对象

属性

姓名类型描述
cancelable
Android
布尔值定义是否可以通过点击警报框外部来关闭警报。
userInterfaceStyle
iOS
字符串用于警报的界面样式,可以设置为 lightdark,否则将使用默认系统样式。
onDismiss
Android
函数警报被关闭时触发的回调函数。