Message 消息提示

用于在活动中显示反馈。与“通知”的区别在于,“通知”通常用于显示系统级的被动通知。

基础用法

默认情况下显示在顶部,3 秒后消失。 您可以使用 placement 属性控制位置。

Message 的设置与 notification 非常相似,因此部分选项在此不再详述。 您可以结合 notification 文档查看下面的选项表来理解它。 Element Plus 为调用注册了一个 $message 方法。 Message 可以接受一个字符串或一个 VNode 作为参数,它将显示为主体。

类型

用于显示成功、警告、消息和错误活动的反馈。

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

Plain 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 的相同内容将被合并。

Placement 位置 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自定义图标组件,会覆盖 `type`string / Component
是否将 message 解析为 HTML 字符串是否将 `message` 视为 HTML 字符串booleanfalse
customClassMessage 的自定义类名string''
duration显示时长,毫秒。设为 0 则不会自动关闭number3000
显示关闭是否显示关闭按钮booleanfalse
onClose关闭时的回调函数,以消息实例为参数Function
offset设置到视口边缘的距离(placement 为 'top' 时为 top,placement 为 'bottom' 时为 bottom)number16
placement 2.11.0消息放置位置枚举
追加到设置消息的根元素,默认为 `document.body`CSSSelector / HTMLElement
分组合并内容相同的消息,不支持 VNode 类型的消息booleanfalse
重复次数重复次数,类似于徽章,与 `grouping` 一起使用时作为初始数字number1

方法

`Message` 和 `this.$message` 返回当前的 Message 实例。 要手动关闭实例,您可以在其上调用 `close`。

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

来源

组件样式文档

贡献者