UI Design System
build dev

Notification

显示信息更丰富的全局通知。中文惯用名:通知提醒。
稳定本期新增已接入

元信息

字段值
规范 IDcomponent.notification
名称Notification
二级分类反馈(feedback)
用途显示信息更丰富的全局通知
描述中文惯用名:通知提醒。

预览

静态结构:Notification 是声明式全局富通知触发器,自身只渲染 hidden 标记节点 <div data-slot="notification" hidden>。title 引用变化且为非空字符串时(含首次挂载),经命令式 toast() 发一条富通知 toast——右上角视口弹出卡片:标题(font-medium)+ 正文 description(text-muted-foreground)+ 语义色条 + 关闭按钮,按 duration 自动消失。

DSL 结构

DslNode
{
  "type": "Notification",
  "props": {
    "title": "版本更新",
    "description": "v2.4 已发布,包含 12 项改进。",
    "variant": "info",
    "duration": 5000
  }
}

何时用

何时使用

  • 信息更丰富的全局通知:需要标题 + 正文的系统通知、异步任务完成提醒、审核结果。
  • 用户稍后看到也能理解上下文的通知(标题概括 + description 补充细节)。
  • 在 DSL 中以声明方式触发:把通知标题绑定给 title,赋非空值即弹出。

何时不用

  • 一句话的操作结果反馈:使用 Message(更轻,无标题区)。
  • 内容上下文中的持续提示:使用 Alert(就地展示,不自动消失)。
  • 需要用户立即处理或确认的事项:使用 Dialog;Notification 只有关闭按钮,无操作区。

变体

变体视觉形态适用场景
info 信息(默认)info 语义色条富通知系统通知、一般提醒;variant 缺省即 info
success 成功success 语义色条富通知异步任务完成(如「报表已生成,可前往下载」)
error 错误destructive 语义色条富通知后台任务失败,附失败原因说明
warning 警告warning 语义色条富通知配额将满、配置过期等需留意的提醒

API 属性

属性类型默认值说明
titlestring—通知标题:变为非空字符串时(含首次挂载)发一条富通知 toast;触发语义仅依赖 title 引用,description / variant / duration 变化不重发
descriptionstring—通知正文(toast description)
variant`'success''error''info'
durationnumber—自动关闭时长(ms),透传 toast timeout;0 表示不自动关闭
classNamestring—通用:标记节点 class
styleCSSProperties—通用:标记节点内联样式

使用规范

  • 页面必须挂载 Sonner(全局 toast 挂载点)后通知才可见;与 Message 共用同一 ToastManager 与右上角视口。
  • 声明式触发语义:触发仅依赖 title 引用变化——description / variant / duration 变化不重发,title 不变只改正文不会弹出。
  • 标题概括结论(「导入完成」),正文写细节(「成功 120 条,失败 3 条」);正文放不下的内容用 Dialog。
  • 重要且需留存查看的通知(如审批结果)应配合可回访的入口,duration 过后 toast 即消失。
  • 高频事件不要逐条弹 Notification:合并为一条汇总(如「3 个任务已完成」),避免并发堆叠刷屏。

正例

  • ✓ 异步导出完成后:title「报表已生成」、description 说明文件与有效期,variant=success。
  • ✓ 长任务失败:title「数据同步失败」、description 写失败原因与建议操作,variant=error。
  • ✓ 系统维护提醒:title「今晚 23:00 例行维护」,duration 适当延长或置 0 让用户手动关闭。

反例

  • ✕ 一句话成功提示也用 Notification(应使用更轻的 Message)。
  • ✕ 在 description 里塞入需要用户勾选 / 确认的操作(应使用 Dialog)。
  • ✕ 同一事件循环里连续推送多条通知刷屏(应合并为一条汇总通知)。

Design Token 映射

不适用:组件 tokenRefs 为空:样式 Token 数据尚未接入,三层映射(Primitive → Semantic → Component)待样式 Token 接入后回填。