Метод Noty.button() предоставляет возможность добавлять
интерактивные кнопки в уведомления, создаваемые библиотекой Noty. Это
позволяет расширить стандартное поведение уведомлений, позволяя
пользователю выполнять действия напрямую из всплывающего окна.
Noty.button(text, className, callback, options)
new Noty({
text: 'Вы хотите удалить запись?',
type: 'warning',
buttons: [
Noty.button('Да', 'btn btn-success', function (noty) {
console.log('Запись удалена');
noty.close();
}),
Noty.button('Нет', 'btn btn-error', function (noty) {
noty.close();
})
]
}).show();
В этом примере создаются две кнопки: «Да» и «Нет». При нажатии на кнопку «Да» выполняется логика удаления записи и закрывается уведомление. Кнопка «Нет» просто закрывает уведомление без дополнительных действий.
callbackФункция обратного вызова принимает объект уведомления, что позволяет управлять его состоянием:
success, error, warning,
info).Пример динамического изменения уведомления:
new Noty({
text: 'Подтвердите действие',
buttons: [
Noty.button('Обновить текст', 'btn btn-info', function (noty) {
noty.setText('Текст успешно обновлён!');
}),
Noty.button('Закрыть', 'btn btn-secondary', function (noty) {
noty.close();
})
]
}).show();
optionsПараметр options позволяет задать дополнительные
настройки:
{ disabled: true, 'data-action': 'save' }.Пример использования:
Noty.button('Сохранить', 'btn btn-primary', function (noty) {
console.log('Сохранение данных');
noty.close();
}, { title: 'Сохранить изменения', attributes: { 'data-role': 'save-btn' } });
Кнопки полностью интегрируются с событиями Noty:
Пример интеграции:
new Noty({
text: 'Выполнить действие?',
type: 'alert',
buttons: [
Noty.button('Принять', 'btn btn-success', function (noty) {
console.log('Действие принято');
noty.close();
})
],
callbacks: {
onShow: function () {
console.log('Уведомление показано');
},
onClose: function () {
console.log('Уведомление закрыто');
}
}
}).show();
Кнопки можно стилизовать через стандартные CSS-классы или с
использованием встроенных библиотек, таких как Bootstrap или Tailwind.
Для более тонкой настройки можно задавать свои классы и стили через
className и attributes.
Пример с кастомным классом:
Noty.button('Закрыть', 'custom-close-btn', function (noty) {
noty.close();
});
Noty.button() для действий, требующих
подтверждения пользователя.warning или error.Кнопки работают одинаково для всех типов уведомлений
(alert, success, warning,
error, info). Тип уведомления можно менять
динамически с помощью методов noty.setType() внутри
callback кнопки.