跳至正文

Toast

短时通知队列。

浏览器
Chrome 114+Firefox 125+Safari 17+
层级
1
压缩后大小
2.41 kB
强制布局预算
0 ms
axe 预算
0
支持 SSR
是
公开契约
测试环境

交互示例

Toast

视口

API

Toast.Provider

属性类型默认值说明
limitnumber3队列中保留的最大通知数;较早的通知会被丢弃。
childrenReactNode—可调用useToast并渲染视口的组件树。

Toast.Viewport

属性类型默认值说明
aria-labelstring—承载队列中通知的区域的无障碍名称。
classNamestring—应用于视口元素的类名。
popover"manual"—由实时客户端视口设置,使渲染队列位于顶层;服务端外壳不设置。
refRef<HTMLElement>—视口元素的ref。
childrenReactNode—视口内与队列中通知一同渲染的额外内容。

Toast.Root

属性类型默认值说明
toast*ToastRecord—要渲染的队列记录,包含已解析的id、title、description、action、duration和priority。

Toast.Title

属性类型默认值说明
classNamestring—应用于标题元素的类名。
childrenReactNode—标题内容。

Toast.Description

属性类型默认值说明
classNamestring—应用于描述元素的类名。
childrenReactNode—描述内容。

Toast.Action

属性类型默认值说明
classNamestring—应用于操作按钮的类名。
onClick(event: MouseEvent<HTMLButtonElement>) => void—点击操作按钮时调用。
childrenReactNode—操作按钮的内容。

Toast.Close

属性类型默认值说明
classNamestring—应用于关闭按钮的类名。
onClick(event: MouseEvent<HTMLButtonElement>) => void—点击关闭按钮时调用。
childrenReactNode—关闭按钮的内容。

useToast().toast(input)

属性类型默认值说明
titleReactNode—通知的标题行。
descriptionReactNode—标题下方的辅助文本行。
action{ label: ReactNode; onClick: () => void }—通知中单个操作按钮的标签和处理函数。
durationnumber4000通知自动关闭前的毫秒数;为零或负数时保留,直到手动关闭。
priority"polite" | "assertive""polite"由哪个实时区域播报通知。
idstring—通知id;省略时自动生成。

键盘

按键操作
Tab聚焦通知内的操作按钮
Escape可关闭时关闭

无障碍

通过实时区域进行polite/assertive播报;加入队列不会移动焦点,悬停或获得焦点时暂停自动关闭。

样式钩子

data-statedata-part="item"data-part="title"data-part="description"data-part="action"data-part="close"