组件 · 反馈
App 反馈门面 App
作用域内全局反馈门面:message/notification→Toast,modal→Dialog。必须在 ConfigProvider + styles.css 子树挂载。角色:UI 反馈门面,不是 @selrux/app 应用框架。
使用建议
- 避免:与 @selrux/app defineApp 混淆
- 避免:无 ConfigProvider 调用
- 限制:属性与导出以 @selrux/ui 对应子路径 d.ts/源码为准,禁止臆造
- 限制:kind=component;导出 id 为 app(@selrux/ui/app)
引入
tsx
import {
App,
resolveModalClosable,
resolveModalOkColor,
resolveModalShowFooter,
useApp,
useMessage,
// …共 8 个导出
} from '@selrux/ui/app';演练场
调节下方可实现的字面量属性,实时预览真实组件。函数、Portal、样式逃生口等见代码演示与 API 表。
代码演示
基础用法
App 提供作用域内的 message / notification / modal;子组件用 useApp() 调用。
不包 DOM
component={false} 时 App 只提供上下文,不额外渲染 div。
API
属性覆盖:示例用到 1 / 1 个自有属性(100%)
由 scripts/demo-coverage.mjs 统计,不含 className / style / 原生透传属性与纯转发事件。
App
反馈门面根;必须位于 ConfigProvider 内。
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
component | 根节点;false 时不包 DOM,仅提供 Context + holder。默认 div。 | false | "div" | div |
另有 3 项原生属性与事件继承自 ,原样透传。
导出类型:AppComponent、AppContextValue、AppProps、MessageApi、ModalApi、ModalConfig、ModalConfigUpdate、ModalInstance、ModalOkType、ModalType、NotificationApi、NotificationOptions
函数与常量
| 名称 | 说明 | 签名 / 类型 |
|---|---|---|
resolveModalClosable | 是否显示右上角关闭钮。 | (config: ModalConfig) => boolean |
resolveModalOkColor | okType 映射到 Button color。 | (okType: ModalOkType | undefined) => ButtonColor |
resolveModalShowFooter | 是否渲染底部按钮区。 | (config: ModalConfig) => boolean |
useApp | 读取 App 注入的反馈 API。 必须在 App 子树内调用。 | () => AppContextValue |
useMessage | 短反馈 hooks。 返回 API 与必须挂入 ConfigProvider 子树的 holder。 | () => readonly [MessageApi, ReactElement] |
useModal | 命令式 Dialog hooks。 返回 API 与必须挂入 ConfigProvider 子树的 holder。 | () => readonly [ModalApi, ReactElement] |
useNotification | 角标通知 hooks。 返回 API 与必须挂入 ConfigProvider 子树的 holder(placement=top-end)。 | () => readonly [NotificationApi, ReactElement] |