Skip to content

Уведомления ​

openNotification создаёт уведомление в стиле NSMP и возвращает контроллер для ручного закрытия.

Связанный компонент

Для сообщения, которое должно оставаться частью разметки страницы, используйте компонент Alert. openNotification подходит для всплывающих уведомлений поверх интерфейса.

Info
ts
import { openNotification } from '@minitwiks/nsmp-vue-components/utils'

const type = 'success'

const notice = openNotification({
  title: 'Изменения сохранены',
  description: 'Новая версия данных успешно опубликована.',
  type,
  expandedByDefault: true,
})

notice.close()

Параметры ​

ПараметрТипПо умолчаниюОписание
titleNotificationContentОбязательныйЗаголовок уведомления. Принимает текст, VNode или render-функцию.
descriptionNotificationContent—Основное содержимое уведомления. Отображается в раскрытой области.
actionNotificationContent—Дополнительное содержимое под описанием, например одна или несколько кнопок.
type'success' | 'info' | 'warning' | 'error''info'Цветовая схема уведомления.
placement'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight''topRight'Положение уведомления относительно окна браузера.
durationnumber4.5Время до автоматического закрытия в секундах. Используется, только если autoClose включён.
autoClosebooleantrueАвтоматически закрывать уведомление после duration. Если передать false, уведомление останется открытым.
closablebooleantrueПоказывать кнопку ручного закрытия. Не влияет на автоматическое закрытие.
expandedByDefaultbooleanfalseСразу показывать description и action. Если значение false, содержимое раскрывается кнопкой со стрелкой.
keystringГенерируется автоматическиСтабильный идентификатор уведомления. Повторное использование ключа обновляет уже открытое уведомление.
iconNotificationContent—Пользовательская иконка рядом с заголовком.
classstring—Дополнительный CSS-класс корневого элемента уведомления.
styleCSSProperties—Инлайновые стили корневого элемента уведомления.
onClick() => void—Обработчик клика по уведомлению.
onClose() => void—Вызывается после закрытия уведомления любым способом.
getContainer() => HTMLElementdocument.bodyВозвращает DOM-контейнер, в котором будет создано уведомление.

NotificationContent соответствует содержимому Ant Design Vue и позволяет передавать строку, VNode либо функцию, возвращающую содержимое.

Возвращаемое значение ​

openNotification() возвращает объект NotificationController:

ПолеТипОписание
keystringФактический ключ созданного или обновлённого уведомления.
close() => voidЗакрывает это уведомление.
ts
const notification = openNotification({ title: 'Готово' })

console.log(notification.key)
notification.close()

Глобальное управление ​

Для глобального управления экспортируются closeNotification(key) и destroyNotifications().

ts
import {
  closeNotification,
  destroyNotifications,
} from '@minitwiks/nsmp-vue-components/utils'

closeNotification('notification-key')
destroyNotifications()