Notification 通知

在页面角落显示全局的通知提醒信息。

基础用法

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
position自定义位置枚举top-right
showClose是否显示关闭按钮booleantrue
onClose关闭时的回调函数Function
onClick点击通知时的回调函数Function
offset距离屏幕顶部边缘的偏移量。同一时刻的每个通知实例都应具有相同的偏移量number0
appendTo设置通知的根元素,默认为 document.bodyCSSSelector / HTMLElement
zIndex初始 zIndexnumber0
closeIcon 2.9.8自定义关闭图标string / ComponentClose

方法

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

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

来源

组件样式文档

贡献者