Skip to content

Message 消息

常用于主动操作后的全局反馈提示。

基础用法

通过 createMessage 函数快速在页面中创建一条消息。

基础用法
Message 基础用法
<script setup lang="ts">
import Button from '@/components/Button/Button.vue'
import { createMessage } from '@/components/Message/method'

const createMsg = () => {
  createMessage({ message: '这是一条消息' })
}
</script>

<template>
  <Button @click="createMsg">函数创建消息</Button>
</template>

不同状态

支持 infosuccesswarningdanger 四种状态,并支持同时存在多条消息。

不同状态
Message 不同状态
<script setup lang="ts">
import Button from '@/components/Button/Button.vue'
import { createMessage, closeAll } from '@/components/Message/method'

const createMsg = () => {
  createMessage({ message: 'Info 消息', offset: 10, type: 'info' })
  createMessage({ message: 'Success 消息', offset: 20, type: 'success' })
  createMessage({ message: 'Warning 消息', offset: 30, type: 'warning' })
  createMessage({ message: 'Danger 消息', offset: 40, type: 'danger', duration: 0, showClose: true })
}

const createMany = () => {
  for (let i = 0; i < 5; i++) {
    createMessage({ message: `消息 ${i + 1}`, offset: 10, duration: 0, showClose: true })
  }
}
</script>

<template>
  <Button type="primary" @click="createMsg">四种 Message 类型</Button>
  <Button @click="createMany">创建多个 Message</Button>
  <Button type="danger" @click="closeAll">关闭所有 Message</Button>
</template>

API

Message Options

通过 createMessage(options) 传入的参数基于 MessageProps,去除了内部管理的字段:

参数说明类型默认值
message文本或自定义节点内容string | VNode''
duration显示时间,单位毫秒,0 表示不会自动关闭number3000
showClose是否显示关闭按钮booleanfalse
type消息类型'success' | 'warning' | 'danger' | 'info'info
offset距离页面顶部的偏移量number20
transitionName过渡动画名称stringfade

Message Methods

@/components/Message/method 中导出:

方法名说明签名
createMessage创建一条消息实例(options: CreateMessageProps) => MessageContext
closeAll关闭当前所有消息() => void