Метод Swal.getActions() библиотеки SweetAlert
используется для получения доступа к элементам действий внутри
всплывающего окна. Эти действия включают кнопки подтверждения и отмены,
которые являются основными элементами интерфейса в диалоговых окнах
SweetAlert.
Swal.getActions() позволяет получить доступ к
DOM-элементам, которые управляют действиями пользователя в модальном
окне. В частности, этот метод возвращает массив элементов,
представляющих кнопки (например, кнопки «ОК» или «Отмена») в модальном
окне.
Рассмотрим типичный пример использования:
Swal.fire({
title: 'Подтвердите действие',
text: 'Вы уверены, что хотите продолжить?',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Да',
cancelButtonText: 'Отмена'
}).then((result) => {
if (result.isConfirmed) {
console.log('Действие подтверждено');
}
});
В этом примере всплывающее окно содержит две кнопки: «Да» и «Отмена».
Метод Swal.getActions() позволяет получить доступ к этим
кнопкам и манипулировать ими, например, изменять их стили, видимость или
другие свойства.
Метод Swal.getActions() возвращает коллекцию
DOM-элементов, которая представляет кнопки действия в модальном окне. В
случае, если всплывающее окно не содержит кнопок действий, метод
возвращает пустой массив.
Пример использования:
Swal.fire({
title: 'Проверка действий',
text: 'Нажмите кнопку для взаимодействия',
icon: 'info',
showCancelButton: true
}).then(() => {
const actions = Swal.getActions();
console.log(actions); // выводит коллекцию элементов
});
Одним из частых применений метода Swal.getActions()
является изменение внешнего вида кнопок, например, изменение цвета фона
или размеров кнопок после того, как всплывающее окно уже
отобразилось.
Пример изменения стилей кнопки подтверждения:
Swal.fire({
title: 'Изменение стилей кнопок',
text: 'Нажмите кнопку для изменения стиля',
icon: 'success',
showCancelButton: true
}).then(() => {
const actions = Swal.getActions();
const confirmButton = actions[0]; // Кнопка "Подтвердить"
confirmButton.style.backgroundColor = '#FF5733'; // меняем цвет фона кнопки
confirmButton.style.fontSize = '18px'; // меняем размер шрифта
});
В этом примере кнопка подтверждения будет изменена в реальном времени, как только пользователь закроет всплывающее окно.
Метод Swal.getActions() полезен, если требуется
динамически изменять состояние или внешний вид кнопок на основе
пользовательского ввода или других событий в приложении. Например, можно
добавить анимацию или изменить расположение кнопок в зависимости от
условий:
Swal.fire({
title: 'Динамическая анимация кнопок',
text: 'Кнопки будут двигаться!',
icon: 'info',
showCancelButton: true
}).then(() => {
const actions = Swal.getActions();
const confirmButton = actions[0];
confirmButton.style.transition = 'transform 0.5s ease-in-out';
confirmButton.style.transform = 'translateX(100px)';
});
Этот пример демонстрирует анимацию кнопки подтверждения, которая будет перемещена вправо на 100 пикселей с плавным переходом.
Для работы с кнопкой отмены можно использовать индекс 1 в массиве,
возвращаемом методом Swal.getActions(). Этот индекс
соответствует кнопке отмены, если она присутствует в диалоговом
окне:
Swal.fire({
title: 'Тестирование кнопки отмены',
text: 'Попробуйте изменить стили этой кнопки',
icon: 'warning',
showCancelButton: true
}).then(() => {
const actions = Swal.getActions();
const cancelButton = actions[1]; // Кнопка "Отмена"
cancelButton.style.border = '2px solid red'; // меняем стиль границы кнопки
});
Если в модальном окне нет кнопки отмены, метод
Swal.getActions() вернет пустой массив, и попытка доступа к
индексу 1 вызовет ошибку.
В SweetAlert можно определить кастомные кнопки, задав их через
свойства confirmButtonText и cancelButtonText.
Метод Swal.getActions() также позволяет взаимодействовать с
этими кнопками, что важно при кастомизации внешнего вида или
поведения.
Swal.fire({
title: 'Использование кастомных кнопок',
text: 'Нажмите кастомную кнопку',
icon: 'success',
confirmButtonText: 'Подтвердить действие',
cancelButtonText: 'Отмена действия'
}).then(() => {
const actions = Swal.getActions();
const confirmButton = actions[0];
confirmButton.style.backgroundColor = '#4CAF50'; // кастомизируем кнопки
});
Метод Swal.getActions() предоставляет удобный способ
взаимодействовать с элементами действий в модальных окнах SweetAlert,
давая возможность изменять внешний вид и поведение кнопок после того,
как окно уже отобразилось. Это расширяет возможности кастомизации и
динамических изменений в интерфейсе без необходимости использовать
сторонние библиотеки или сложные манипуляции с DOM.