Предупреждение
Выводит диалоговое окно предупреждения с заданным заголовком и сообщением.
Можно указать список кнопок. Нажатие на любую кнопку запустит соответствующий обратный вызов onPress и закроет предупреждение. По умолчанию единственная кнопка — «ОК».
Это API работает как на Android, так и на iOS и может отображать статические предупреждения. Предупреждение, которое запрашивает у пользователя ввод какой-либо информации, доступно только на iOS.
- Функциональный компонент
- Компонент класса
iOS
На iOS можно указать любое количество кнопок. Каждая кнопка может необязательно указать стиль, доступные варианты представлены перечислением AlertButtonStyle.
Android
На Android можно указать не более трех кнопок. Android имеет понятие нейтральной, негативной и позитивной кнопок:
- Если вы укажете одну кнопку, она будет «позитивной» (например, «ОК»)
- Две кнопки означают «отмена», «ок» (например, «Отмена», «ОК»)
- Три кнопки означают «нейтральную», «отмену», «ок» (например, «Позже», «Отмена», «ОК»)
Предупреждения на Android можно закрыть, нажав за пределами области предупреждения. По умолчанию эта возможность отключена и может быть включена, предоставив необязательный параметр Options с свойством cancelable, установленным в true , т.е.{ cancelable: true }.
Событие отмены можно обработать, предоставив onDismiss обратный вызов в свойстве options.
Пример Android
Справочник
Методы
alert()
static alert(title, message?, buttons?, options?)
Параметры:
| Имя | Тип | Описание |
|---|---|---|
| title Обязательно
|
строка | Заголовок диалогового окна. Передача null или пустой строки скроет заголовок. |
| message | строка | Необязательное сообщение, которое отображается под заголовком диалогового окна. |
| buttons | Кнопки | Необязательный массив, содержащий конфигурацию кнопок. |
| options Android
|
Параметры | Необязательная конфигурация предупреждения для Android. |
prompt() iOS
static prompt(title, message?, callbackOrButtons?, type?, defaultValue?, keyboardType?)
Создаёт и отображает запрос на ввод текста в виде предупреждения.
Параметры:
| Имя | Тип | Описание |
|---|---|---|
| title Обязательно
|
строка | Заголовок диалогового окна. |
| message | строка | Необязательное сообщение, которое отображается над текстовым полем ввода. |
| callbackOrButtons | функцияКнопки | Если передана функция, она будет вызвана со значением запроса(text: string) => void, когда пользователь нажмёт «ОК». Если передан массив, кнопки будут сконфигурированы на основе содержимого массива. |
| type | AlertType | Это настраивает текстовое поле ввода. |
| defaultValue | строка | Текст по умолчанию в поле ввода текста. |
| keyboardType | строка | Тип клавиатуры первого текстового поля (если оно есть). Один из TextInput keyboardTypes. |
Определения типов
AlertButtonStyle iOS
Стиль кнопки предупреждения iOS.
| Тип |
|---|
| перечисление |
Постоянные значения:
| Значение | Описание |
|---|---|
'default' |
Стиль кнопки по умолчанию. |
'cancel' |
Стиль кнопки отмены. |
'destructive' |
Стиль кнопки удаления. |
AlertType iOS
Тип предупреждения iOS.
| Тип |
|---|
| перечисление |
Постоянные значения:
| Значение | Описание |
|---|---|
'default' |
Предупреждение по умолчанию без ввода данных |
'plain-text' |
Простой текстовый ввод предупреждения |
'secure-text' |
Предупреждение с защищённым текстовым вводом |
'login-password' |
Предупреждение для логина и пароля |
Кнопки
Массив объектов, содержащих конфигурацию кнопок предупреждения.
| Тип |
|---|
| массив объектов |
Свойства объектов:
| Имя | Тип | Описание |
|---|---|---|
| text | строка | Текст кнопки. |
| onPress | функция | Обратный вызов при нажатии на кнопку. |
| style iOS
|
AlertButtonStyle | Стиль кнопки, на Android это свойство игнорируется. |
Параметры Android
| Тип |
|---|
| объект |
Свойства:
| Имя | Тип | Описание |
|---|---|---|
| cancelable | булево | Определяет, можно ли закрыть предупреждение, нажав за пределами области. |
| onDismiss | функция | Обратный вызов, срабатывающий при закрытии предупреждения. |
© 2022 Facebook Inc.
Licensed under the Creative Commons Attribution 4.0 International Public License.
https://reactnative.dev/docs/alert