用途:指导实现 Blazor 组件,覆盖组件架构与常见交互模式。
主要能力:组件生命周期方法(SetParametersAsync、OnInitialized、OnAfterRender 等)及在 Static SSR、InteractiveServer、WASM、Hybrid 等渲染模式下的行为差异;状态管理,包括级联值(含 IsFixed)、依赖注入生命周期差异、ProtectedBrowserStorage 与 WASM 下通过 JS 互操作访问浏览器存储;JavaScript 互操作,含 AOT 安全的模块导入、.NET 调用 JS 与 JS 调用 .NET(DotNetObjectReference、[JSInvokable]);EditForm 验证与输入组件、数据注解、.NET 8+ 增强表单处理(FormName、[SupplyParameterFromForm]、Enhance);QuickGrid 的数据绑定、排序、分页与虚拟化。
使用方式:在组件中重写生命周期方法;用 @inject 注入服务;用 JSRuntime.InvokeAsync 导入模块并在 DisposeAsync 中释放;表单使用 EditForm 配合 DataAnnotationsValidator 与 ValidationMessage;QuickGrid 通过 Items 绑定 IQueryable 并配置 PaginationState 或 Virtualize。
限制与注意:Static SSR 下 OnAfterRender 不会执行;ProtectedBrowserStorage 不可用于预渲染,须在 OnAfterRenderAsync(firstRender: true) 中访问;Server 模式下 Scoped 服务随线路长期存活;FormName 需页面内唯一;Server 模式 JS 互操作经 SignalR 有延迟。托管模型选择、认证、bUnit 测试、SignalR、E2E 测试、UI 框架选择与无障碍模式不在本技能范围内。部分 .NET 11 预览特性(OnRowClick、EnvironmentBoundary、[DisplayName] 标签、WASM 中 IHostedService)需回退方案。