组件 · 反馈

App 反馈门面 App

作用域内全局反馈门面:message/notification→Toast,modal→Dialog。必须在 ConfigProvider + styles.css 子树挂载。角色:UI 反馈门面,不是 @selrux/app 应用框架。

入口 @selrux/ui/app · 源码 src/components/app/index.ts · 1 个组件 · 发布状态 preview

使用建议

  • 避免:与 @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 包裹 useApp 调用。

无可调节的字面量属性;下方为组合用法预览。

代码演示

基础用法

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
resolveModalOkColorokType 映射到 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]