Skip to content

Message 消息提示 ​

常用于主动操作后的反馈提示。与 Notification 的区别是后者更多用于系统级通知的被动提醒。

ts
import { Message } from '@szhn/dh-design-pc'

基础用法 ​

默认情况下在顶部显示,并在 3 秒后自动消失。

不同状态 ​

用来显示默认、帮助、成功、警告、错误、等待类的操作反馈。通过 type、icon 和 customClass 字段组合对应主题。

Plain 背景 ​

设置 plain 为 true 时仍保持 PC 设计稿里的白色卡片样式。

可关闭的消息提示 ​

默认的 Message 是不可以被手动关闭的,通过 showClose 开启关闭按钮,并可通过 duration 控制展示时长,duration 为 0 时消息不会自动关闭。

使用 HTML 片段作为正文内容 ​

将 dangerouslyUseHTMLString 属性设置为 true,message 就会被当作 HTML 片段处理。请确保内容可信,避免 XSS 攻击。

分组消息合并 ​

设置 grouping 为 true,内容相同的消息将以徽标形式合并展示。

消息位置 ​

通过 placement 控制消息的出现位置,支持 top / bottom 等。

全局方法 ​

如果以插件方式全量注册,app.config.globalProperties 上会注入 $message,可在组件实例中直接调用。

按需引入 ​

ts
import { Message } from '@szhn/dh-design-pc'

Message({ message: '这是一条消息提示' })
Message.success({ message: '保存成功' })
Message.closeAll()

应用上下文继承 ​

消息方法支持接收当前应用的 appContext 作为第二个参数,以继承全局配置。

ts
import { getCurrentInstance } from 'vue'
import { Message } from '@szhn/dh-design-pc'

const { appContext } = getCurrentInstance()!
Message({}, appContext)

API ​

配置项(部分) ​

名称说明类型默认值
message消息文字string / VNode / Function''
type消息类型success / warning / info / error / primaryinfo
plain是否纯色背景booleanfalse
icon自定义图标string / Component—
dangerouslyUseHTMLString是否把 message 作为 HTML 片段booleanfalse
duration展示时长(毫秒),为 0 则不自动关闭number3000
showClose是否展示关闭按钮booleanfalse
offset距离视口的偏移量number16
appendTo指定挂载根节点string / HTMLElement—
grouping合并相同内容的消息booleanfalse
repeatNum合并场景下的初始重复次数number1
placement消息位置top / bottomtop
onClose关闭回调Function—

方法 ​

名称说明
Message.success / warning / info / error / primary展示对应类型的消息
Message.closeAll关闭所有消息实例
instance.close关闭当前消息实例

更多配置参见 Element Plus Message。