Toast 设计文档
轻提示:命令式全局反馈 API(Toast.info/success/warning/error/open/close/destroyAll/config/useToast + ToastFactory.create),严格对齐 Semi Design。单例容器惰性挂载到 body(wrapper 固定顶部居中,config 的 top/left/bottom/right 整体偏移);type=info/success/warning/error/default(default 无内置图标);theme=normal(白)/light(多色填充+描边);stack 多条堆叠、Hover 展开(3D 透视折叠);duration 自动关闭(0 常驻)、mouseenter 暂停/mouseleave 从头计时;showClose 关闭按钮(复用 IconButton);textMaxWidth 内容最大宽度;content/icon 支持 string 或 Snippet;对已存在 id 再调 info/success 即原地更新。useToast() 返回 [api, holderStore] 经 <ToastHolder> 渲染在组件树内继承上下文;ToastFactory.create(config) 创建带独立 config 的新实例(如 getPopupContainer)。a11y:卡片 role=alert + aria-label="{type} type"(对齐 Semi),关闭按钮 IconButton 带可访问名。
← API 文档使用建议
轻提示:命令式全局反馈 API(Toast.info/success/warning/error/open/close/destroyAll/config/useToast + ToastFactory.create),严格对齐 Semi Design。单例容器惰性挂载到 body(wrapper 固定顶部居中,config 的 top/left/bottom/right 整体偏移);type=info/success/warning/error/default(default 无内置图标);theme=normal(白)/light(多色填充+描边);stack 多条堆叠、Hover 展开(3D 透视折叠);duration 自动关闭(0 常驻)、mouseenter 暂停/mouseleave 从头计时;showClose 关闭按钮(复用 IconButton);textMaxWidth 内容最大宽度;content/icon 支持 string 或 Snippet;对已存在 id 再调 info/success 即原地更新。useToast() 返回 [api, holderStore] 经 <ToastHolder> 渲染在组件树内继承上下文;ToastFactory.create(config) 创建带独立 config 的新实例(如 getPopupContainer)。a11y:卡片 role=alert + aria-label="{type} type"(对齐 Semi),关闭按钮 IconButton 带可访问名。
Accessibility
- 每张 toast 卡片自身 role=alert + aria-label="{type} type"(对齐 Semi),屏幕阅读器直接播报卡片内容。关闭按钮 IconButton 带 aria-label(locale Toast.close)。不抢焦点、不锁滚动。
设计变量
| 变量 | 默认值 | 用法 |
|---|---|---|
--cd-color-toast-bg-default | var(--cd-color-bg-3) | 提示背景颜色 - 默认 |
--cd-color-toast-danger-icon | var(--cd-color-danger) | 错误提示图标颜色 |
--cd-color-toast-danger-light-bg | var(--cd-color-danger-light-default) | 多色样式 错误提示背景颜色 |
--cd-color-toast-danger-light-border | var(--cd-color-danger) | 多色样式 错误提示描边颜色 |
--cd-color-toast-danger-light-icon | var(--cd-color-toast-danger-icon) | 多色样式 错误提示图标颜色 |
--cd-color-toast-info-icon | var(--cd-color-info) | 通知提示图标颜色 |
--cd-color-toast-info-light-bg | var(--cd-color-info-light-default) | 多色样式 通知提示背景颜色 |
--cd-color-toast-info-light-border | var(--cd-color-info) | 多色样式 通知提示描边颜色 |
--cd-color-toast-info-light-icon | var(--cd-color-toast-info-icon) | 多色样式 通知提示图标颜色 |
--cd-color-toast-success-icon | var(--cd-color-success) | 成功提示图标颜色 |