Alert 通知提示
用于通知提示场景的 MoriUI 组件。
导入
import { Alert, AlertAction, AlertDescription, AlertTitle } from 'moriui'
示例
概览
警告提示展示关键信息。
注意
这是一个标准通知提示。
<script setup lang="ts">
import { Alert, AlertDescription, AlertTitle } from 'moriui'
</script>
<template>
<Alert>
<svg
class="h-4 w-4"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
><path d="M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8zm1-13h-2v6h2zm0 8h-2v2h2z" /></svg>
<AlertTitle>注意</AlertTitle>
<AlertDescription>这是一个标准通知提示。</AlertDescription>
</Alert>
</template>
基础
默认变体用于通用提示。
基本信息
这是 Alert 组件的基础用法。
<script setup lang="ts">
import { Alert, AlertDescription, AlertTitle } from 'moriui'
</script>
<template>
<Alert>
<AlertTitle>基本信息</AlertTitle>
<AlertDescription>这是 Alert 组件的基础用法。</AlertDescription>
</Alert>
</template>
破坏性
destructive 变体表达危险操作。
错误
操作失败,请重试。
<script setup lang="ts">
import { Alert, AlertDescription, AlertTitle } from 'moriui'
</script>
<template>
<Alert variant="destructive">
<AlertTitle>错误</AlertTitle>
<AlertDescription>操作失败,请重试。</AlertDescription>
</Alert>
</template>
自定义颜色
调用方可覆盖局部颜色。
default
这是一条提示信息。
info
这是一条提示信息。
success
这是一条提示信息。
warning
这是一条提示信息。
destructive
发生了错误。
<script setup lang="ts">
import { Alert, AlertDescription, AlertTitle } from 'moriui'
const variants = ['default', 'info', 'success', 'warning', 'destructive'] as const
</script>
<template>
<div class="grid gap-2">
<Alert v-for="v in variants" :key="v" :variant="v">
<AlertTitle class="capitalize">
{{ v }}
</AlertTitle>
<AlertDescription>{{ v === 'destructive' ? '发生了错误。' : '这是一条提示信息。' }}</AlertDescription>
</Alert>
</div>
</template>
操作
AlertAction 可放置关闭或更多操作。
升级可用
新版本 v2.0 可以安装了。
<script setup lang="ts">
import { Alert, AlertAction, AlertDescription, AlertTitle, Button } from 'moriui'
</script>
<template>
<Alert>
<AlertTitle>升级可用</AlertTitle>
<AlertDescription>新版本 v2.0 可以安装了。</AlertDescription>
<AlertAction as-child>
<Button size="sm" variant="outline">
更新
</Button>
</AlertAction>
</Alert>
</template>
RTL
在 RTL 页面中保持自然的内容顺序。
تنبيه
هذا إشعار تجريبي في الاتجاه من اليمين إلى اليسار.
<script setup lang="ts">
import { Alert, AlertDescription, AlertTitle, DirectionProvider } from 'moriui'
</script>
<template>
<DirectionProvider dir="rtl">
<Alert>
<AlertTitle>تنبيه</AlertTitle>
<AlertDescription>هذا إشعار تجريبي في الاتجاه من اليمين إلى اليسار.</AlertDescription>
</Alert>
</DirectionProvider>
</template>
使用说明
组合方式
Alert 由 Title、Description 和 Action 组成,适合在页面内展示即时反馈。
变体
variant 支持 default 与 destructive,通过颜色区分信息层级。
RTL
Alert 继承外围书写方向;图标与文本顺序会随 dir 调整。
变体
Alert variant 支持 default 与 destructive。
可访问性
Alert 根元素默认包含 role="alert",能够触发屏幕阅读器的即时朗读。动态出现的 Alert 会通过该角色自动宣告。
API 参考
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Alert variant | 'default' | 'destructive' | 'default' | 警报的视觉层级。 |
AlertTitle class | HTMLAttributes["class"] | undefined | 合并到标题的调用方类。 |
AlertDescription class | HTMLAttributes["class"] | undefined | 合并到说明的调用方类。 |
AlertAction class | HTMLAttributes["class"] | undefined | 合并到操作区域的调用方类。 |