В библиотеке iziToast предусмотрен механизм задания текстов по умолчанию, позволяющий централизованно управлять содержимым уведомлений. Это избавляет от дублирования строк и упрощает поддержку интерфейса, особенно в проектах с большим количеством всплывающих сообщений.
К текстовым параметрам относятся:
title — заголовок уведомленияmessage — основное содержимоеiconText — текст внутри иконки (если используется)progressBarColor — косвенно влияет на визуальное
восприятие текстаtransitionIn / transitionOut — анимации,
влияющие на восприятие текстаiziToast.settingsГлобальные значения задаются через метод:
iziToast.settings({
title: 'Уведомление',
message: 'Стандартное сообщение',
});
После этого все вызовы iziToast.show() будут
использовать указанные значения, если они явно не переопределены.
Пример:
iziToast.settings({
title: 'Информация',
message: 'Операция выполнена успешно'
});
iziToast.show(); // Использует оба значения по умолчанию
Любой параметр можно изменить локально:
iziToast.show({
title: 'Ошибка',
message: 'Что-то пошло не так'
});
При этом:
title и message из вызова имеют приоритет
над глобальнымиsettingsЕсли задан только один параметр:
iziToast.settings({
title: 'Система',
message: 'Общее сообщение'
});
iziToast.show({
message: 'Конкретное сообщение'
});
Результат:
title: “Система” (из настроек)message: “Конкретное сообщение” (локально)Для возврата к стандартному поведению используется:
iziToast.destroy();
После этого библиотека возвращается к исходным значениям, и ранее заданные тексты по умолчанию удаляются.
Централизация текстов особенно полезна при мультиязычной поддержке. Часто используется связка с объектами переводов:
const locale = {
title: 'Успех',
message: 'Данные сохранены'
};
iziToast.settings(locale);
При смене языка:
iziToast.settings({
title: 'Success',
message: 'Data saved'
});
Таким образом достигается мгновенное обновление всех уведомлений без изменения кода вызовов.
Для динамических сообщений можно применять шаблоны:
iziToast.settings({
message: 'Пользователь {name} успешно создан'
});
Далее подстановка:
const name = 'Иван';
iziToast.show({
message: iziToast.settings().message.replace('{name}', name)
});
Хотя встроенной поддержки шаблонов нет, такой подход широко используется.
Практика показывает, что удобно задавать разные значения для разных типов сообщений:
const toastDefaults = {
success: {
title: 'Успех',
message: 'Операция выполнена'
},
error: {
title: 'Ошибка',
message: 'Произошла ошибка'
}
};
Применение:
iziToast.show(toastDefaults.success);
iziToast.show(toastDefaults.error);
В крупных проектах часто создаётся функция-обёртка:
function showToast(options = {}) {
const defaults = {
title: 'Система',
message: 'Сообщение не задано'
};
iziToast.show({
...defaults,
...options
});
}
Преимущества:
Настройки можно изменять во время работы приложения:
iziToast.settings({
title: 'Новое состояние системы'
});
Все последующие уведомления будут использовать обновлённый заголовок.
Параметры title и message поддерживают
HTML:
iziToast.settings({
title: '<b>Важно</b>',
message: '<i>Обновление завершено</i>'
});
Особенности:
Длинные сообщения могут нарушать внешний вид уведомления. Практика включает:
function truncate(text, maxLength = 100) {
return text.length > maxLength
? text.slice(0, maxLength) + '...'
: text;
}
Использование:
iziToast.show({
message: truncate(longText)
});
Тексты воспринимаются в контексте оформления:
position: 'topRight'center)Пример:
iziToast.settings({
title: '',
message: 'Короткое уведомление'
});
Дублирование строк Решается через
settings или централизованные объекты
Жёстко закодированные значения Усложняют локализацию
Смешивание логики и текста Лучше выносить текст отдельно от бизнес-логики
Отсутствие fallback-значений Может привести к пустым уведомлениям
iziToast.settings({
title: 'Система',
message: 'Ожидание действия пользователя',
timeout: 3000,
position: 'topRight'
});
function notifySuccess(text) {
iziToast.show({
title: 'Успех',
message: text
});
}
function notifyError(text) {
iziToast.show({
title: 'Ошибка',
message: text
});
}
Такой подход сочетает: