Ant Design предоставляет мощный и гибкий механизм для работы с
уведомлениями через компонент
notification. Он позволяет создавать
системные уведомления с различными типами сообщений, программно
управлять их отображением, закрытием и настройкой стиля.
Для использования уведомлений необходимо импортировать модуль:
import { notification } from 'antd';
После этого можно вызывать методы уведомлений. Базовый синтаксис:
notification.open({
message: 'Заголовок уведомления',
description: 'Описание уведомления, содержащее основную информацию.',
});
Ключевые параметры:
message – заголовок уведомления.description – основной текст уведомления.placement – позиция на экране (topLeft,
topRight, bottomLeft,
bottomRight).duration – время отображения в секундах (по умолчанию
4.5). Если указать 0, уведомление останется до закрытия
вручную.onClick – обработчик события при клике на
уведомление.key – уникальный идентификатор уведомления для
последующего управления (закрытия или обновления).Ant Design поддерживает четыре стандартных типа уведомлений, упрощающих визуальное восприятие:
notification.success({ message: 'Успешно', description: 'Операция завершена.' });
notification.error({ message: 'Ошибка', description: 'Произошла ошибка.' });
notification.info({ message: 'Информация', description: 'Некоторая информация для пользователя.' });
notification.warning({ message: 'Предупреждение', description: 'Обратите внимание на это сообщение.' });
Каждый метод автоматически добавляет соответствующую иконку и цветовую схему, что улучшает читаемость и визуальное различие сообщений.
В Ant Design можно программно управлять временем отображения:
notification.open({
message: 'Временное уведомление',
description: 'Будет закрыто через 10 секунд.',
duration: 10
});
Если уведомление должно оставаться до закрытия пользователем,
duration устанавливается в 0:
notification.open({
message: 'Долгое уведомление',
description: 'Закрывается вручную.',
duration: 0
});
Ключевые уведомления позволяют обновлять или закрывать их программно:
const key = 'uniqueKey';
notification.open({
message: 'Начальное уведомление',
description: 'Будет обновлено через 3 секунды.',
key
});
// Обновление уведомления
setTimeout(() => {
notification.open({
message: 'Обновленное уведомление',
description: 'Содержимое изменено программно.',
key
});
}, 3000);
// Закрытие уведомления
setTimeout(() => {
notification.close(key);
}, 6000);
Использование ключей обеспечивает контроль над конкретными уведомлениями без влияния на остальные.
Можно полностью кастомизировать содержимое уведомления, используя
компонент notification с JSX:
notification.open({
message: <span style={{ color: 'red' }}>Кастомный заголовок</span>,
description: (
<div>
<p>Первый абзац описания.</p>
<p>Второй абзац с дополнительной информацией.</p>
</div>
),
duration: 0
});
Это позволяет интегрировать сложные элементы интерфейса, кнопки и ссылки прямо в уведомление.
Ant Design поддерживает конфигурацию по умолчанию через
notification.config:
notification.config({
placement: 'bottomRight',
duration: 5,
top: 50,
bottom: 50
});
placement – позиция всех уведомлений по умолчанию.duration – стандартное время отображения.top / bottom – отступ от края окна, в
зависимости от выбранной позиции.import { Button, notification } from 'antd';
const showNotification = () => {
const key = `open${Date.now()}`;
notification.info({
message: 'Новая информация',
description: 'Пример уведомления с программным закрытием.',
key,
duration: 0,
onClick: () => console.log('Уведомление кликнуто')
});
setTimeout(() => {
notification.close(key);
notification.success({ message: 'Уведомление закрыто', description: 'Успешно завершено.' });
}, 5000);
};
<Button onCl ick={showNotification}>Показать уведомление</Button>
Этот пример демонстрирует полное программное управление: создание, обработка клика, обновление и закрытие уведомлений с использованием ключа.
notification.config, чтобы обеспечить единый стиль
уведомлений по всему приложению.success,
error, info, warning) для
улучшения восприятия информации.Программное управление уведомлениями в Ant Design позволяет создавать динамичные, интерактивные и управляемые уведомления, что делает интерфейс приложения более отзывчивым и информативным.