Skip to content

Message 消息提示 ​

在页面上弹出提示,用于消息通知、加载提示、操作结果提示等场景。常用于主动操作后的反馈提示

基础用法 ​

不同状态 ​

可关闭的消息提示 ​

文字居中 ​

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

WARNING

message 属性虽然支持传入 HTML 片段,但是在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 XSS 攻击。 因此在 dangerouslyUseHTMLString 打开的情况下,请确保 message 的内容是可信的,永远不要将用户提交的内容赋值给 message 属性。

动态更新消息 ​

分组消息合并 ​

应用程序上下文继承 ​

现在 Message 接受一条 context 作为消息构造器的第二个参数,允许你将当前应用的上下文注入到 Message 中,这将允许你继承应用程序的所有属性。

TIP

如果您全局注册了 RMessage 组件,它将自动继承应用的上下文环境。

ts
import { getCurrentInstance } from 'vue'
import { showMessage } from 'ryxon'

// 在你的 setup 方法中
const { appContext } = getCurrentInstance()!
showMessage({}, appContext)

使用 Message 组件 ​

API ​

方法 ​

Ryxon 中导出了以下 Message 相关的辅助函数:

方法名说明参数返回值
showMessage展示消息Options | stringMessage 实例
showSuccessMessage展示成功消息Options | stringMessage 实例
showInfoMessage展示提示消息Options | stringMessage 实例
showWarningMessage展示警告消息Options | stringMessage 实例
showDangerMessage展示错误消息Options | stringMessage 实例
closeAllMessage关闭实例typeMessage 实例

MessageOptions ​

属性说明类型默认值
message消息文字string | VNode | (() => VNode)—
type消息类型'success' | 'warning' | 'info' | 'danger''info'
icon自定义图标,该属性会覆盖 type 的图标。string | Component—
dangerouslyUseHTMLString是否将 message 属性作为 HTML 片段处理booleanfalse
customClass自定义类名string—
duration显示时间,单位为毫秒。 设为 0 则不会自动关闭number3000
showClose是否显示关闭按钮booleanfalse
center文字是否居中booleanfalse
onClose关闭时的回调函数, 参数为被关闭的 message 实例function—
offsetMessage 距离窗口顶部的偏移量number20
appendTo设置组件的根元素string | HTMLElementbody
grouping合并内容相同的消息,不支持 VNode 类型的消息booleanfalse

MessageMethods ​

调用 Message 会返回当前 Message 的实例。 如果需要手动关闭实例,可以调用它的 close 方法。

MethodDescription
closeclose the Message

Props ​

通过组件调用 Message 时,支持以下 Props:

属性说明类型默认值
v-model:show是否显示弹窗booleanfalse
message消息文字string | VNode | (() => VNode)—
type消息类型'success' | 'warning' | 'info' | 'danger''info'
icon自定义图标,该属性会覆盖 type 的图标。string | Component—
custom-class自定义类名string—
duration显示时间,单位为毫秒。 设为 0 则不会自动关闭number3000
show-close是否显示关闭按钮booleanfalse
center文字是否居中booleanfalse
on-close关闭时的回调函数, 参数为被关闭的 message 实例function—
offsetMessage 距离窗口顶部的偏移量number20
appendTo设置组件的根元素string | HTMLElementbody

Events ​

通过组件调用 Message 时,支持以下事件:

事件名说明回调参数
destroy在离开过渡完成-

Slots ​

通过组件调用 Message 时,支持以下插槽:

名称说明
default自定义内容

类型定义 ​

组件导出以下类型定义:

ts
import type { MessageProps, MessageThemeVars, MessageInstance } from 'ryxon'

主题定制 ​

样式变量 ​

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。

名称默认值描述
--r-message-bg-colorvar(--r-info-color-light-9)-
--r-message-border-colorvar(--r-border-color-lighter)-
--r-message-padding15px 19px-
--r-message-close-size16px-
--r-message-close-icon-colorvar(--r-text-color-placeholder)-
--r-message-close-hover-colorvar(--r-text-color-secondary)-

常见问题 ​

引用 showMessage 时出现编译报错? ​

如果引用 showMessage 方法时出现以下报错,说明项目中使用了 babel-plugin-import 插件,导致代码被错误编译。

bash
These dependencies were not found:

* ryxon/es/show-message in ./src/xxx.js
* ryxon/es/show-message/style in ./src/xxx.js

Ryxon 版本不支持 babel-plugin-import 插件,请移除该插件。

Released under the MIT License.