消息提示

用于显示活动后的反馈信息。与通知(Notification)的区别在于,后者通常用于显示系统级别的被动通知。

基础用法

默认在顶部显示,3 秒后消失。你可以通过 placement 属性控制位置。

消息提示的设置与通知(Notification)非常相似,因此部分选项在此不再详细解释。你可以结合下面的选项表和通知文档来理解。Element Plus 已经注册了一个 $message 方法用于调用。消息提示可以接受字符串或 VNode 作为参数,并将其显示为主体内容。

类型

用于显示成功、警告、消息和错误等操作的反馈信息。

当需要更多自定义时,消息提示组件也可以接受一个对象作为参数。例如,设置 type 的值可以定义不同类型,默认为 info。在这种情况下,主体内容会作为 message 的值传入。此外,我们还为不同类型注册了方法,因此你可以直接调用,而无需像 open4 那样传递类型。primary 已在 2.9.11 中添加。

朴素 2.6.3

设置 plain 属性可拥有朴素背景。

可关闭

可添加关闭按钮。

默认消息提示不能手动关闭。如果你需要一个可关闭的消息提示,可以设置 showClose 字段。此外,与通知一样,消息提示具有可控制的 duration。默认持续时间为 3000 毫秒,设置为 0 则不会自动消失。

使用 HTML 字符串

message 属性支持 HTML 片段。

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

警告

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

分组

合并相同内容的消息。

grouping 设置为 true 后,相同内容的 message 将被合并。

位置 2.11.0

控制消息出现的位置。消息可以在视口顶部(默认)或其他位置显示。

全局方法

Element Plus 已在 app.config.globalProperties 上添加了一个全局方法 $message。因此在 Vue 实例中,你可以像本页中一样调用 Message

局部导入

ts
import { ElMessage } from 'element-plus'

在这种情况下,你应该调用 ElMessage(options)。我们也为不同类型注册了方法,例如 ElMessage.success(options)。你可以调用 ElMessage.closeAll() 来手动关闭所有实例。

应用上下文继承 2.0.3

现在消息提示构造函数的第二个参数接受 context,这允许你将当前应用程序的上下文注入到消息提示中,从而继承应用程序的所有属性。

您可以像这样使用它

提示

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

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

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

API

配置项

名称描述类型默认值
message消息文本string / VNode / Function''
type消息类型枚举信息
朴素 2.6.3消息是否为朴素样式booleanfalse
icon自定义图标组件,会覆盖 typestring / Component
dangerouslyUseHTMLStringmessage 是否被当作 HTML 字符串处理booleanfalse
customClass消息提示的自定义类名string''
duration显示时长,毫秒。设为 0 则不会自动关闭number3000
showClose是否显示关闭按钮booleanfalse
onClose关闭时的回调函数,参数为当前消息提示实例Function
offset设置距离视口边缘的距离(placement 为 'top' 时指顶部距离,为 'bottom' 时指底部距离)number16
placement 2.11.0消息放置位置枚举
挂载容器设置消息的根元素,默认为 document.bodyCSSSelector / HTMLElement
分组合并内容相同的消息,不支持 VNode 类型的消息booleanfalse
重复次数重复的次数,类似于徽章,与 grouping 一起使用时作为初始数字number1

方法

Messagethis.$message 返回当前的消息提示实例。要手动关闭实例,你可以调用其 close 方法。

名称描述类型
关闭关闭消息提示Function

来源

组件样式文档

贡献者