Notification 通知 ​

在页面角落展示全局通知。

基础用法 ​

Uniboot UI 注册全局 $notify,参数为对象。最简单可设置 title 与 message。默认 4500ms 后自动关闭;duration 控制停留时间,设为 0 则不自动关闭。duration 单位为毫秒。

带类型 ​

提供成功、警告、信息与错误等类型。

通过 type 设置类型:primary、success、warning、info、error,其他值忽略。亦可直接调用类型方法(如示例中的 open3、open4)而无需传 type。

自定义位置 ​

可从任意角落滑入。

position 取 top-right、top-left、bottom-right、bottom-left,默认 top-right。

偏移量 ​

自定义与屏幕边缘的距离。

使用 offset 设置偏移;同一时刻多个实例建议使用相同 offset。

使用 HTML 字符串 ​

message 支持 HTML 字符串。

dangerouslyUseHTMLString 为 true 时按 HTML 解析 message。

WARNING

虽然 message 支持 HTML,但动态渲染不可信 HTML 易导致 XSS。启用 dangerouslyUseHTMLString 时请确保内容可信,切勿将用户输入直接作为 message。

函数式 message ​

message 可为 VNode。

message 支持返回 VNode 的函数。

带进度条 0.1.14 ​

显示表示剩余自动关闭时间的进度条。

将 progress 设为 true 以启用进度条,进度会按 duration 倒计时。也可传入对象,使用 Progress 的选项进行自定义(如 color,会覆盖按 type 映射的状态色)。当 pauseOnHover 为 true(默认)时,悬停会同时暂停计时器与进度条。

隐藏关闭按钮 ​

可隐藏关闭按钮。

showClose 为 false 时用户无法点击关闭。

全局方法 ​

完整引入后会在 app.config.globalProperties 注册 $notify,选项式 API 中可如本文调用。

按需引入 ​

javascript
import { UNotification } from 'uniboot-ui'
import { CloseBold } from '@uniboot/icons-vue'

UNotification({
  title: 'Title',
  message: 'This is a message',
  closeIcon: CloseBold,
})

使用 UNotification(options),亦提供 UNotification.success(options) 等快捷方法。可调用 UNotification.closeAll() 关闭全部实例;可调用 UNotification.updateOffsets(position) 手动更新某方向上所有实例的偏移。

应用上下文继承 ​

构造函数第二个参数可传入 context,以继承当前应用上下文。

TIP

若已全局注册 UNotification,将自动继承应用上下文。

ts
import { getCurrentInstance } from 'vue'
import { UNotification } from 'uniboot-ui'

// 在 setup 中
const { appContext } = getCurrentInstance()!
UNotification({}, appContext)

通知 API ​

选项 ​

名称说明类型默认值
title标题string''
message描述文本string / VNode / Function''
dangerouslyUseHTMLStringmessage 是否按 HTML 解析booleanfalse
type类型enum''
icon自定义图标(会被 type 覆盖)string / Component—
customClass自定义类名string''
duration自动关闭前停留时间,0 表示不自动关闭number4500
position位置enumtop-right
showClose是否显示关闭按钮booleantrue
onClose关闭时回调Function—
onClick点击通知时回调Function—
offset距屏幕顶边偏移;同一时刻多个实例建议使用相同值number0
appendTo挂载根元素,默认 document.bodyCSSSelector / HTMLElement—
zIndex初始 z-indexnumber0
closeIcon自定义关闭图标string / ComponentClose
progress 0.1.14表示自动关闭倒计时的进度条。设为 true 显示默认进度条,或传入对象使用 Progress 选项 自定义(排除 percentage、type、duration、indeterminate、width)boolean / objectfalse
pauseOnHover 0.1.14悬停时是否暂停计时器booleantrue

方法 ​

Notification 与 this.$notify 返回当前实例,可调用 close 手动关闭。

名称说明类型
close关闭通知Function