通知

在页面的角落显示全局通知消息。

基础用法

Element Plus 注册了 $notify 方法,它接收一个对象作为参数。 在最简单的情况下,你可以设置 title 字段和 message 字段来设置通知的标题和正文。 默认情况下,通知在 4500ms 后自动关闭,但通过设置 duration 你可以控制其显示时间。 特别地,如果设置为 0,它将不会自动关闭。 注意 duration 接收一个以毫秒为单位的 Number

带有类型

我们提供了四种类型:success、warning、info 和 error。

Element Plus 提供了五种通知类型:primarysuccesswarninginfoerror。 它们通过 type 字段设置,其他值将被忽略。 我们还为这些类型注册了方法,可以直接调用,如 open3open4,而无需传递 type 字段。 primary 已在 2.9.11 中添加。

自定义位置

通知可以从你喜欢的任何角落弹出。

position 属性定义了通知从哪个角落滑入。 它可以是 top-righttop-leftbottom-rightbottom-left。 默认为 top-right

带有偏移

自定义通知距离屏幕边缘的偏移量。

设置 offset 属性来自定义通知距离屏幕边缘的偏移量。 注意,同一时刻的每个通知实例都应具有相同的偏移量。

使用 HTML 字符串

message 属性支持 HTML 片段。

dangerouslyUseHTMLString 设置为 true,message 就会被当作 HTML 字符串处理。

警告

虽然 message 属性支持 HTML 字符串,但在网站上动态渲染任意 HTML 是非常危险的,因为这很容易导致 XSS 攻击。 因此,当 dangerouslyUseHTMLString 开启时,请确保 message 的内容是可信的,绝不要message 赋值为用户提供的内容。

使用函数作为消息 2.9.0

message 可以是 VNode。

2.9.0 之后,message 支持一个返回值为 VNode 的函数。

隐藏关闭按钮

可以隐藏关闭按钮

showClose 属性设置为 false,这样用户就无法关闭通知。

全局方法

Element Plus 为 app.config.globalProperties 添加了一个全局方法 $notify。 因此在 vue 实例中,你可以像我们在本页中所做的那样调用 Notification

局部导入

javascript
import { ElNotification } from 'element-plus'
import { CloseBold } from '@element-plus/icons-vue'

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

在这种情况下,你应该调用 ElNotification(options)。 我们还为不同类型注册了方法,例如 ElNotification.success(options)。 你可以调用 ElNotification.closeAll() 来手动关闭所有实例。 在 2.10.5 中,你可以通过调用 ElNotification.updateOffsets(position) 手动更新特定方向上所有实例的偏移量。

应用上下文继承 > 2.0.4

现在通知接收一个 context 作为消息构造函数的第二个参数,这允许你将当前应用的上下文注入到通知中,从而继承应用的所有属性。

您可以像这样使用它

提示

如果你全局注册了 ElNotification 组件,它将自动继承你的应用上下文。

ts
import { getCurrentInstance } from 'vue'
import { ElNotification } from 'element-plus'

// in your setup method
const { appContext } = getCurrentInstance()!
ElNotification({}, appContext)

API

配置项

名称描述类型默认值
titletitlestring''
message描述文本string / VNode / Function''
dangerouslyUseHTMLStringmessage 是否被当作 HTML 字符串处理booleanfalse
type通知类型枚举''
icon自定义图标组件。 它将被 type 覆盖string / Component
customClass通知自定义类名string''
duration关闭前的持续时间。 如果设置为 0,则不会自动关闭number4500
位置自定义位置枚举右上角
showClose是否显示关闭按钮booleantrue
onClose关闭时的回调函数Function
onClick点击通知时的回调函数Function
offset距离屏幕顶部的偏移量。 同一时刻的每个通知实例都应具有相同的偏移量number0
appendTo设置通知的根元素,默认为 document.bodyCSSSelector / HTMLElement
zIndex初始 zIndexnumber0
关闭图标 2.9.8自定义关闭图标string / Component关闭

方法

Notificationthis.$notify 返回当前的通知实例。 要手动关闭实例,你可以调用其 close 方法。

名称描述类型
关闭关闭通知Function

来源

组件样式文档

贡献者