Blazor 中的 RenderFragment 是构建可复用、模板化组件的核心机制,本质是一个“UI 片段委托”,它把一段 Razor 标记(含逻辑)封装成可传递、可插入的渲染单元。掌握它,就能轻松实现卡片、列表、标签页、折叠面板等常见 UI 模式。
基础用法:默认插槽(ChildContent)
最常用场景是让父组件向子组件注入任意内容。关键点有三个:参数命名必须为 ChildContent、类型为 RenderFragment?、用 @ChildContent 在子组件中渲染。
子组件(Card.razor)中定义:姓名:张三 邮箱:zhang@example.com 当需要把集合项的数据传进模板里渲染(比如表格每行、列表每项),就得用泛型版本 RenderFragment [Parameter] public IReadOnlyList
一个组件可以暴露多个 RenderFragment 参数,各自命名,对应不同区域。Blazor 不限制数量,只要名字不重复、调用时显式指定即可。 2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英 2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce Win10显示器颜色应该如何调整?Win10调整显示器颜色的方法 Win10任务栏看不到正在运行的图标但能点到是怎么回事? c# C# 高并发下的加密解密操作性能瓶颈 c# TPL Dataflow 是什么 c#数据流管道怎么用 Win10纯净版任务栏全屏不消失不会自动隐藏怎么解决? Dapper如何动态构建查询条件 Dapper动态WHERE子句方法 Win10专业版怎么强制进入恢复模式? Win10打印文件时挂起怎么办?Win10打印文件时挂起的解决方法 c# C# 异步方法可以作为 Main 入口点吗
@code {
[Parameter] public string Title { get; set; } = "标题";
[Parameter] public RenderFragment? ChildContent { get; set; }
}
父组件中使用时,直接在标签内写内容,Blazor 自动绑定到 ChildContent:
带数据的模板:RenderFragment
[Parameter] public RenderFragment
;@context.Name
@context.Email
@foreach (var person in DataSource)
{
@RowTemplate(person)
}
@context.Name
@context.Email
多个命名插槽:灵活布局
相关推荐
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
热文推荐
