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
};
}