useToast()
useToast() 提供全局轻量提示(Toast)的调用接口。你可以在任意组件、composable 或异步回调中直接调用,无需在模板中维护状态或手动管理显示逻辑。提示消息由 SwToast 组件统一渲染,通常挂载在布局根节点。
基础用法
四个语义快捷方法
加载中...
const { success, error, warning, info } = useToast()
success('保存成功')
error('上传失败', { title: '文件错误' })
warning('存储空间不足', { duration: 8000 })
info('新版本已发布,请刷新页面')
使用完整参数
胶囊 vs 卡片两种形态
加载中...
duration:快关 / 默认 / 常驻
加载中...
通过 add() 方法可传入完整配置:
const { add } = useToast()
add({
message: '操作成功,数据已更新',
title: '提示',
type: 'success',
duration: 4000, // 4 秒后自动消失,传 0 则不自动消失
})
返回值
| 名称 | 类型 | 说明 |
|---|---|---|
toasts | DeepReadonly<Ref<ToastItem[]>> | 当前所有显示中的提示列表(只读响应式,禁直接 push/splice,请用 add/remove) |
add | (options: ToastOptions) => void | 新增一条提示 |
remove | (id: string) => void | 根据 id 移除指定提示 |
success | (message: string, opts?) => void | 显示成功类型提示(绿色) |
error | (message: string, opts?) => void | 显示错误类型提示(红色) |
warning | (message: string, opts?) => void | 显示警告类型提示(橙色) |
info | (message: string, opts?) => void | 显示信息类型提示(蓝色) |
ToastOptions 参数说明
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
message | string | ✓ | — | 提示正文内容 |
title | string | — | 提示标题(可选),显示在正文上方 | |
type | 'success' | 'error' | 'warning' | 'info' | ✓ | — | 提示类型,控制图标和颜色(add() 无默认,须显式指定;快捷方法已自动设置) |
duration | number | 3000 | 自动关闭延迟毫秒数,设为 0 则不自动关闭 |
注意事项
- 需要在布局中引入
SwToast组件:Toast 消息由SwToast渲染并管理显示队列。请在你的布局文件(如default.vue)中添加<SwToast />,否则调用后无任何视觉反馈。 - 快捷方法
success()、error()、warning()、info()均支持第二个参数覆盖除type之外的所有选项。 toasts是响应式数组,如需实现自定义 Toast UI,可直接读取该数组并结合remove(id)实现完全自定义的渲染。