Skip to content

Message 消息提示

Message 组件用于展示轻量级的提示信息,可以自动关闭,支持不同类型和位置的消息展示。

参数

Props

名称类型默认值描述
visiblebooleanfalse是否可见
contentstring-消息内容
typeMessageTypeinfo消息类型
topVerticalAlign | string | numbercenter显示位置
durationnumber3000显示时长(ms), 0 表示不自动关闭
closablebooleantrue是否可关闭
enterablebooleantrue鼠标移入是否暂停关闭
transitionNameTransitionName | falsex-slide-down过渡动画名称,false 表示不使用动画

Events

名称描述参数
update:visible可见状态变化时触发(visible: boolean) => void
close关闭后触发-

全局方法

除了组件方式使用外,X-UI 还提供了全局方法 $messageuseMessage 钩子来使用 Message 组件。

命令式创建

ts
// 使用方法
this.$message(options);

// 或者直接传入字符串
this.$message('这是一条消息提示');

Hooks 方式

ts
import { useMessage } from '@xpyjs/x-ui';

// 在 setup 中使用
const { message } = useMessage();
message(options);

// 或者直接传入字符串
message('这是一条消息提示');

示例

基础用法

使用 v-model:visible 来控制消息提示的显示和隐藏。

不同类型

Message 组件提供了多种类型,包括默认、信息、成功、警告和错误。

不同位置

可以通过 top 属性指定消息提示的显示位置。

手动关闭

可以通过 closable 属性控制消息是否可以手动关闭。

自定义时长

可以通过 duration 属性自定义消息显示的时长,设置为 0 则不会自动关闭。

多行文本

Message 组件支持显示多行文本内容。

不同动画

通过 transitionName 属性可以设置不同的过渡动画。

TypeScript

ts
// 消息类型
type MessageType = 'default' | 'info' | 'success' | 'warning' | 'error';

// 垂直位置
type VerticalAlign = 'top' | 'center' | 'bottom';

// 动画名称
type TransitionName =
  | 'x-fade'
  | 'x-zoom'
  | 'x-slide'
  | 'x-slide-up'
  | 'x-slide-down'
  | 'x-slide-left'
  | 'x-slide-right';

// 全局方法选项
export interface MessageOptions
  extends Partial<Omit<MessageProps, 'visible'>> {
}