前言
似乎很久没有写 Blazor 的东西了,因为我感觉我写的差不多了。现在觉得可能还需要补充一些细节,比如这个 RenderFragment
和 RenderFragment<TValue>
的使用,
RenderFragment
Represents a segment of UI content, implemented as a delegate that writes the content to a Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.
表示UI内容的一个片段,作为一个将内容写入到Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder
的委托实现。
public delegate void RenderFragment(RenderTreeBuilder builder);
RenderFragment<TValue>
Represents a segment of UI content for an object of type TValue, implemented as a function that returns a Microsoft.AspNetCore.Components.RenderFragment.
表示类型为 TValue
的对象的UI内容段,已实现作为一个函数,返回一个 Microsoft.AspNetCore.Components.RenderFragment
。
public delegate RenderFragment RenderFragment<TValue>(TValue value);
示例
使用 .razor 创建组件
首先定义一个 Table.razor
组件
<table class="table table-striped">
<thead>
<tr>
@Header
</tr>
</thead>
<tbody>
@if (DataSource != null)
{
foreach (var item in DataSource)
{
<tr>
@Body(item)
</tr>
}
}
</tbody></