跳转到内容

Notification 通知提醒框

何时使用

在系统四个角显示通知提醒信息。经常用于以下情况:

  • 较为复杂的通知内容。
  • 带有交互的通知,给出用户下一步的行动点。
  • 系统主动推送。

代码演示

Hooks 调用(推荐)

loading

自动关闭的延时

loading

带有图标的通知提醒框

loading

自定义按钮

loading

自定义图标

loading

更新消息内容

loading

显示进度条

loading

静态方法(不推荐)

loading

自定义进度条颜色

API

  • notification.success(config)
  • notification.error(config)
  • notification.info(config)
  • notification.warning(config)
  • notification.open(config)
  • notification.destroy(key?: String)

config 参数如下:

参数说明类型默认值版本
actions自定义按钮组VNode-5.24.0
className自定义 CSS classstring--
closable是否显示右上角的关闭按钮boolean | ClosableTypetrue-
closeIcon自定义关闭图标VNodetrue5.7.0:设置为 null 或 false 时隐藏关闭按钮
description通知提醒内容,必选VNode--
duration默认 4.5 秒后自动关闭,配置为 null 则不自动关闭number4.5-
showProgress显示自动关闭通知框的进度条boolean5.18.0
pauseOnHover悬停时是否暂停计时器booleantrue5.18.0
icon自定义图标VNode--
key当前通知唯一标志string--
title通知提醒标题,必选VNode-6.0.0
placement弹出位置,可选 top | topLeft | topRight | bottom | bottomLeft | bottomRightstringtopRight-
style自定义内联样式CSSProperties--
role供屏幕阅读器识别的通知内容语义,默认为 alert。此情况下屏幕阅读器会立即打断当前正在阅读的其他内容,转而阅读通知内容alert | statusalert5.6.0
onClick点击通知时触发的回调函数function--
onClose当通知关闭时触发function--
props透传至通知 div 上的 props 对象,支持传入 data-* aria-*role 作为对象的属性。需要注意的是,虽然在 TypeScript 类型中声明的类型支持传入 data-* 作为对象的属性,但目前只允许传入 data-testid 作为对象的属性。 详见 https://github.com/microsoft/TypeScript/issues/28960Object--
  • notification.useNotification(config)

config 参数如下:

参数说明类型默认值版本
bottom消息从底部弹出时,距离底部的位置,单位像素number24
closeIcon自定义关闭图标VNodetrue5.7.0:设置为 null 或 false 时隐藏关闭按钮
getContainer配置渲染节点的输出位置() => HTMLNode() => document.body
placement弹出位置,可选 top | topLeft | topRight | bottom | bottomLeft | bottomRightstringtopRight
showProgress显示自动关闭通知框的进度条boolean5.18.0
pauseOnHover悬停时是否暂停计时器booleantrue5.18.0
rtl是否开启 RTL 模式booleanfalse
stack堆叠模式,超过阈值时会将所有消息收起boolean | { threshold: number }{ threshold: 3 }5.10.0
top消息从顶部弹出时,距离顶部的位置,单位像素number24
maxCount最大显示数,超过限制时,最早的消息会被自动关闭number-4.17.0

ClosableType

参数说明类型默认值版本
closeIcon自定义关闭图标VNodeundefined-
onClose当通知关闭时触发function--

全局配置

还提供了一个全局配置方法,在调用前提前配置,全局一次生效。

notification.config(options)

当你使用 ConfigProvider 进行全局化配置时,系统会默认自动开启 RTL 模式。(4.3.0+)

当你想单独使用,可通过如下设置开启 RTL 模式。

js
notification.config({
  placement: 'bottomRight',
  bottom: 50,
  duration: 3,
  rtl: true,
});

notification.config

参数说明类型默认值版本
bottom消息从底部弹出时,距离底部的位置,单位像素number24
closeIcon自定义关闭图标VNodetrue5.7.0:设置为 null 或 false 时隐藏关闭按钮
duration默认自动关闭延时,单位秒number4.5
showProgress显示自动关闭通知框的进度条boolean5.18.0
pauseOnHover悬停时是否暂停计时器booleantrue5.18.0
getContainer配置渲染节点的输出位置,但依旧为全屏展示() => HTMLNode() => document.body
placement弹出位置,可选 top topLeft topRight bottom bottomLeft bottomRightstringtopRight
rtl是否开启 RTL 模式booleanfalse
top消息从顶部弹出时,距离顶部的位置,单位像素number24
maxCount最大显示数,超过限制时,最早的消息会被自动关闭number-4.17.0

基于 MIT 许可发布