Blazor:如何创建可重用的渲染片段?
我经常使用以下标记:Blazor:如何创建可重用的渲染片段?,blazor,Blazor,我经常使用以下标记: <SfDropDownList DataSource="@Model.Customers" TItem="Customer" TValue="Customer"> <DropDownListTemplates TItem="Customer"> <ItemTemplate Context="customer">
<SfDropDownList DataSource="@Model.Customers" TItem="Customer" TValue="Customer">
<DropDownListTemplates TItem="Customer">
<ItemTemplate Context="customer">
<span>@customer.Name</span><span class="float-right">@customer.Site</span>
</ItemTemplate>
</DropDownListTemplates>
</SfDropDownList>
@顾客。Name@customer.Site
如何在多个组件中重用具有相同参数的DropDownList模板?
我在想,我创建了一个从DropDownListTemplates继承的自定义类:
@inherits DropDownListTemplates<Customer>
@code {
override void OnAfterRender(bool firstRender)
{
// this.ItemTemplate = ??
base.OnAfterRender(firstRender);
}
}
@继承DropDownListTemplates
@代码{
在AfterRender(布尔firstRender)上覆盖无效
{
//this.ItemTemplate=??
base.OnAfterRender(firstRender);
}
}
但是如何设置ItemTemplate,它是基类中的RenderFragment参数
我希望避免将SfDropDownList包装到自定义组件您可以如下设置RenderFragment参数的默认值
@ChildContent
@代码{
[参数]公共呈现片段ChildContent{get;set;}=@此处的一些文本;
}
资料来源:
编辑以添加:还可以在代码中定义可重用的
RenderFragment
publicstaticrenderfragment-SayHello=\uu-builder=>
{
你好
};
RenderFragment
委托也可以获取参数
@foreach(消息中的var消息)
{
@DisplayChatMessage(消息)
}
@代码{
RenderFragment DisplayChatMessage=消息=>\uu生成器=>
{
@消息作者
@短信
};
}
资料来源: