Библиотека SweetAlert предоставляет различные типы сообщений, которые можно использовать для отображения разных состояний пользовательского интерфейса. Эти типы сообщений позволяют задавать соответствующую визуальную стилистику и интерактивность, что улучшает восприятие и взаимодействие с пользователем. В SweetAlert доступны несколько встроенных типов сообщений, каждый из которых имеет свою цель и особенности отображения.
“alert” (Оповещение) Это самый простой тип сообщения. Обычно используется для отображения информации, которая не требует вмешательства пользователя. Всплывающее окно с таким типом отображается как стандартное оповещение и может содержать только один текст и кнопку для закрытия. Сообщение исчезает после нажатия на кнопку.
Пример кода:
Swal.fire({
title: 'Информация',
text: 'Это простое сообщение',
icon: 'info'
});“success” (Успех) Этот тип сообщения используется для информирования пользователя о том, что операция была выполнена успешно. Сообщение сопровождается положительным визуальным эффектом, как правило, это галочка в зелёном круге. Пользователь видит, что действие было завершено без ошибок.
Пример кода:
Swal.fire({
title: 'Успех!',
text: 'Ваши данные успешно сохранены.',
icon: 'success'
});“error” (Ошибка) Используется для отображения сообщений об ошибках. Обычно это окно с красным знаком и текстом, который объясняет, что именно пошло не так. Этот тип предназначен для информирования пользователя о проблемах, требующих внимания.
Пример кода:
Swal.fire({
title: 'Ошибка!',
text: 'Что-то пошло не так. Попробуйте ещё раз.',
icon: 'error'
});“warning” (Предупреждение) Тип сообщения для отображения предупреждений. Обычно используется для того, чтобы предупредить пользователя о возможных последствиях действий. Визуально оно может включать жёлтый треугольник с восклицательным знаком.
Пример кода:
Swal.fire({
title: 'Внимание!',
text: 'Вы уверены, что хотите удалить этот файл?',
icon: 'warning'
});“question” (Вопрос) Сообщения этого типа используются для запросов, которые требуют от пользователя выбора. Это могут быть подтверждения или запросы на ввод, такие как «Вы уверены?» или «Удалить?». Сообщение может быть дополнено кнопками для ответа.
Пример кода:
Swal.fire({
title: 'Удалить?',
text: 'Вы хотите удалить этот файл?',
icon: 'question'
});Кроме базовых типов, в SweetAlert можно использовать более сложные формы сообщений, комбинируя различные типы и настройки для создания более интерактивных и информативных окон.
Сообщения с кнопками Для сообщений типа “question” или “warning” можно добавить различные кнопки для подтверждения или отказа. В SweetAlert существует настройка для добавления кастомных кнопок.
Пример кода:
Swal.fire({
title: 'Вы уверены?',
text: 'Действие не может быть отменено.',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Да',
cancelButtonText: 'Отмена'
}).then((result) => {
if (result.isConfirmed) {
// Действие при подтверждении
}
});Сообщения с прогрессом Для отображения прогресса выполнения задачи можно использовать SweetAlert с анимацией и динамически обновляющимся содержимым. Это позволяет пользователю видеть, как продвигается процесс, например, загрузка файла или сохранение данных.
Пример кода:
const swalWithProgress = Swal.mixin({
didOpen: () => {
Swal.showLoading()
}
});
swalWithProgress.fire({
title: 'Загрузка...',
text: 'Пожалуйста, подождите.',
icon: 'info'
});Сообщения с кастомными иконками SweetAlert позволяет использовать не только стандартные иконки, такие как “success”, “error”, “warning” и “info”, но и кастомные изображения в качестве иконок для сообщений. Это дает возможность создавать уникальные визуальные эффекты и настраивать внешний вид сообщений в соответствии с брендом или специфическими требованиями интерфейса.
Пример кода:
Swal.fire({
title: 'Успех!',
text: 'Ваш заказ успешно оформлен.',
imageUrl: 'path/to/success-icon.png',
imageWidth: 100,
imageHeight: 100,
imageAlt: 'Custom image'
});Каждое сообщение в SweetAlert можно настроить не только по типу и содержимому, но и по внешнему виду. В настройках можно задать такие параметры, как цвет фона, стиль кнопок, анимации появления и исчезновения, а также длительность отображения сообщений. Эти возможности позволяют интегрировать сообщения в дизайн приложения и сделать их более привлекательными для пользователя.
Цвета и стили С помощью опций можно изменять как внешний вид кнопок, так и фоны сообщений. Например, можно задать цвет текста или использовать пользовательские стили для заголовков и кнопок.
Пример кода:
Swal.fire({
title: 'Успех!',
text: 'Данные обновлены.',
icon: 'success',
customClass: {
title: 'my-title-class',
confirmButton: 'my-button-class'
},
background: '#f1f1f1'
});Анимации SweetAlert поддерживает различные анимации появления окон, такие как “fade”, “slide”, и “zoom”. Эти анимации добавляют динамичности и плавности в пользовательский интерфейс, улучшая взаимодействие с пользователем.
Пример кода:
Swal.fire({
title: 'Анимация!',
text: 'Это окно появляется с эффектом увеличения.',
icon: 'info',
showClass: {
popup: 'animate__animated animate__zoomIn'
},
hideClass: {
popup: 'animate__animated animate__zoomOut'
}
});С помощью SweetAlert можно не только отображать стандартные сообщения, но и создавать формы, отображать изображения или текст в специфическом формате. Например, с помощью встроенных опций можно использовать поля ввода, чекбоксы или даже HTML-контент.
Ввод данных В случае необходимости можно использовать SweetAlert для отображения поля ввода, где пользователь может ввести текст или выбрать параметры. Это полезно для получения информации от пользователя, например, имени или комментария.
Пример кода:
Swal.fire({
title: 'Введите ваше имя',
input: 'text',
inputLabel: 'Ваше имя',
inputPlaceholder: 'Введите имя',
}).then((result) => {
if (result.isConfirmed) {
console.log(result.value);
}
});Типы сообщений в SweetAlert предоставляют широкие возможности для создания интерактивных окон, которые могут быть использованы в различных сценариях, от простых уведомлений до сложных форм с пользовательскими действиями. Их гибкость и настраиваемость делают SweetAlert одним из самых популярных инструментов для создания уведомлений и диалоговых окон в веб-приложениях.