iziToast предоставляет гибкую систему для создания уведомлений с
кастомными шаблонами. Любое уведомление состоит из набора стандартных
элементов: заголовка (title), текста
(message), иконки (icon) и кнопок действий
(buttons). Шаблоны позволяют изменять структуру и стили
этих элементов без изменения исходного кода библиотеки.
iziToast.show({
title: 'Пример',
message: 'Текст уведомления',
icon: 'ico-info',
position: 'topRight'
});
В этом примере используется стандартный шаблон, где библиотека автоматически расставляет элементы уведомления по умолчанию.
Для создания кастомного шаблона используется свойство
template. Оно позволяет полностью переопределить
HTML-структуру уведомления.
iziToast.show({
title: 'Кастомный шаблон',
message: 'Уведомление с уникальным видом',
template: `
{title}
{message}
`
});
В шаблоне можно использовать плейсхолдеры:
{title} — заголовок уведомления{message} — текст уведомления{icon} — иконка уведомления{buttons} — кнопки действийПлейсхолдеры заменяются значениями, указанными при вызове
iziToast.show.
Любой шаблон можно стилизовать с помощью CSS. Для этого рекомендуется задавать уникальные классы:
.custom-toast {
background-color: #2c3e50;
color: #ecf0f1;
border-radius: 8px;
padding: 15px;
display: flex;
align-items: center;
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.custom-icon {
margin-right: 10px;
font-size: 20px;
}
.custom-content h4 {
margin: 0;
font-size: 16px;
font-weight: bold;
}
.custom-content p {
margin: 0;
font-size: 14px;
}
.custom-close {
margin-left: auto;
border: none;
background: transparent;
font-size: 18px;
cursor: pointer;
}
Такой подход позволяет создавать уведомления, полностью соответствующие дизайну проекта, включая цвета, шрифты, размеры и расположение элементов.
Шаблоны можно генерировать динамически с помощью функций. Для этого
template может быть функцией, которая возвращает строку
HTML:
iziToast.show({
title: 'Динамический шаблон',
message: 'Создан через функцию',
template: function(options) {
return `
${options.title}
`;
},
backgroundColor: '#1abc9c'
});
Преимущество функции в том, что можно использовать любые условия и логические конструкции для формирования структуры уведомления на лету.
buttons — это массив элементов с возможностью передачи
callback-функций. В шаблоне используется плейсхолдер
{buttons} для автоматической вставки кнопок.
iziToast.show({
title: 'Вопрос',
message: 'Хотите продолжить?',
buttons: [
['', function(instance, toast){
console.log('Нажата кнопка Да');
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}],
['', function(instance, toast){
console.log('Нажата кнопка Нет');
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}]
]
});
Кнопки полностью управляются через JavaScript, что позволяет добавлять динамические действия, выполнять AJAX-запросы или закрывать уведомления программно.
Шаблоны поддерживают вложенность элементов, что позволяет создавать сложные уведомления с несколькими блоками информации:
iziToast.show({
template: `
{title}
{message}
`,
title: 'Отчет',
message: 'Все операции завершены',
buttons: [
['', function(instance, toast){
instance.hide({ transitionOut: 'fadeOut' }, toast, 'button');
}]
]
});
Такой подход позволяет создавать уведомления, напоминающие карточки или диалоговые окна, с независимыми секциями для заголовка, содержимого и действий пользователя.