组件
Toast 结果通知
不打断任务,同时给成功、失败和恢复操作足够时间。
用于短暂、任务级结果。字段错误应留在 Field,阻断整个区域的错误应使用 States。Toast 需要 ToastProvider,并通过 useToast 获取稳定的通知管理器。
安装
pnpm dlx shadcn@4.22.1 add http://127.0.0.1:3040/r/v0.3.0/toast.json首次使用请先完成 Registry 与主题接入。
状态与策略
支持 success、info 和 error 视觉。相同类型、标题与描述的活跃通知会去重更新。普通通知默认 5 秒;错误通知或带 action 的通知保持到用户主动处理,避免错过恢复入口。
Props 与管理器
| API | 类型 / 值 | 默认值 | 说明 |
|---|---|---|---|
ToastProvider.children | ReactNode | 必填 | 反馈作用范围 |
useToast().add(options) | Base UI 通知选项 | — | 返回通知 id |
options.title / description | ReactNode | — | 结果与必要说明 |
options.type | success / info / error | info 视觉 | 语义状态 |
options.timeout | 毫秒 | 5000 | error 或有 action 时强制为 0 |
options.actionProps | Base UI action 属性 | — | 恢复等明确操作 |
| Provider 可见上限 | 3 | 3 | 当前固定策略 |
管理器保留 Base UI 的 update、close 等 API。Kitseed 不解释 API 错误,也不替应用净化错误文本;传入面向用户的文案。
键盘与约束
关闭按钮有名称,带恢复动作时可通过键盘访问。重要结果还应更新页面中的真实状态,不能只出现在稍后消失的浮层中。
避免这样使用
不要每次轮询都新增通知;不要展示堆栈、令牌或后端内部信息;不要用短时成功通知覆盖未完成的真实请求。
来源与版本
0.1.0,来自 Subtic apps/web/components/ui/toast.tsx。保留去重、上限和持续时间策略,移除业务翻译与错误净化。
查看由当前源码生成的类型参考
只展示 Kitseed 自身定义的属性,原生 HTML 与 Base UI 透传属性请参阅对应上游说明。
ToastProvider
| 属性 | 类型 | 默认值 |
|---|---|---|
children | ReactNode | — |
formatText? | (value: ReactNode) => ReactNode | — |
classNames? | { root?: string; action?: string; close?: string } | — |