Skip to content

Toast 吐司

用于展示短暂且不打断用户操作的反馈信息,支持自动关闭、手动关闭、堆叠展示、进度条提示、ESC 快捷键关闭、响应式视口适配与显示/隐藏动画。

BrToast 基于 BrConfigProvider 实现全局主题配置(颜色/圆角/阴影/z-index 等 tokens),同时支持组件式与函数式两种调用方式。

基础用法

点击按钮后弹出默认样式 Toast(自动关闭 + 可手动关闭)。

Example

变体

使用 variant 属性控制 Toast 的视觉风格:

  • Default:默认风格
  • Primary:主色风格
  • Success:成功色风格
  • Error:错误色风格
  • Warning:警告色风格
  • Info:信息色风格
Example

位置与堆叠

支持 8 个弹出位置(top/top-left/top-center/top-right/bottom/bottom-left/bottom-center/bottom-right),并支持堆叠展示与进度条提示。

Select Position
Example

主题定制

通过 BrConfigProvider 全局配置 Toast 默认位置、圆角、阴影、各变体颜色、z-index;也可以通过类名局部覆盖样式。

全局定制(BrConfigProvider)

Theme Preview
Configure Toast tokens and default behavior globally via BrConfigProvider
Example

局部定制(TailwindCSS 类名覆盖)

Example

API

BrToast

Prop类型默认值说明
openbooleanundefined受控打开状态(配合 @update:open/v-model:open 使用)。
defaultOpenbooleanfalse非受控初始打开状态。
durationnumberundefined当前 Toast 自动关闭时间(ms),优先级高于 Provider 的 duration
variant'default' | 'primary' | 'success' | 'error' | 'warning' | 'info''default'变体样式。
positionBrToastPositionundefined当前 Toast 的弹出位置(优先级高于 Provider/BrConfigProvider)。
dismissiblebooleantrue是否显示关闭按钮、允许手动关闭。
showProgressbooleanfalse是否展示自动关闭进度条(依赖 duration > 0)。
titlestring | Componentundefined标题内容(不传时可用 #title 插槽)。
descriptionstring | Componentundefined描述内容(不传时可用 #description 插槽)。
iconComponentundefined图标内容(不传时可用 #icon 插槽)。
classstring''追加 TailwindCSS 类名,用于局部覆盖样式。

BrToastProvider

Prop类型默认值说明
positionBrToastPositionundefined覆盖 BrConfigProvider 的默认位置。
durationnumberundefined覆盖 BrConfigProvider 的默认自动关闭时间(ms)。
closeDelaynumberundefined关闭后从堆叠列表移除的延迟(ms),用于保留关闭动画。
maxnumberundefined最大堆叠数量,超出会移除更早的 Toast。
closeOnEscapebooleanundefined是否允许按 ESC 关闭最新 Toast。
viewportClassstring''追加到视口(Viewport)的类名,用于局部布局覆盖。

useToast

字段类型默认值说明
toast(options: BrToastOptions) => { id, dismiss, update }-触发 Toast,并返回句柄(可更新/关闭)。
dismiss(id?: string) => void-关闭指定 Toast;不传 id 关闭全部。
update(id: string, patch: BrToastOptions) => void-更新指定 Toast 的配置(标题/描述/变体/时长等)。
toastsRef<BrToastItem[]>-当前 Toast 列表(用于自定义渲染场景)。