SxAppRouter (应用路由)

  • Implemented

支持堆栈式导航与 Keep-Alive 的路由容器,页面切换时保留状态。

使用场景

  • 多页面堆栈导航
  • 页面状态保留
  • 自定义路由解析

约束说明

  • 需要 INavStackService 提供当前堆栈。
  • RouteResolver 返回 null 时显示 NotFoundContent

行为说明

  • 当前页面显示为 sx-view-active,其余页面隐藏但保留状态。
  • 堆栈移除时清理缓存。

API

Parameters

状态 参数名 类型 默认值 描述
Implemented CurrentView RenderFragment? null 当前视图片段。
Implemented RouteResolver Func<string, RenderFragment?>? null 路由解析器。
Implemented NotFoundContent RenderFragment? null 兜底内容。
Implemented Id (继承) string? null 组件 Id。
Implemented Class (继承) string? null 自定义 CSS 类名。
Implemented Style (继承) string? null 自定义样式。
Implemented Title (继承) string? null HTML title 属性。
Not Implemented TabIndex (继承) int? null TabIndex(未应用)。
Not Implemented AccessKey (继承) string? null AccessKey(未应用)。
Not Implemented Disabled (继承) bool false 禁用状态(未应用)。
Not Implemented Loading (继承) bool false 加载状态(未应用)。
Implemented AdditionalAttributes (继承) IEnumerable<KeyValuePair<string, object>>? null 捕获不匹配的 HTML 属性。

示例

<SxAppRouter RouteResolver="@ResolveRoute" />

@code {
    private RenderFragment? ResolveRoute(string path) => path switch
    {
        "/" => @<HomePage />,
        "/settings" => @<SettingsPage />,
        _ => null
    };
}