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生成器=>
{
@消息作者
@短信
};
}
资料来源: