我正在使用接收模板的第三方 blazor 组件,但我正在为该组件制作一个包装器,该组件也将具有模板属性。
如果有人将我的包装器与模板一起使用,它应该传递模板,但如果没有,它应该使用组件的默认模板。
我尝试的是添加一个if,但它不起作用
@if (ItemTemplate != null)
<ItemTemplate Context="Data">
@ItemTemplate(Data)
</ItemTemplate>
}
它给了我一个错误
组件“TelerikDropDownList”内无法识别的子内容。组件“TelerikDropDownList”通过以下顶级项目接受子内容:“ValueTemplate”、“HeaderTemplate”、“FooterTemplate”、“ItemTemplate”
但是如果我在里面加上 IfItemTemplate
<ItemTemplate Context="Data">
@if (ItemTemplate != null)
{
@ItemTemplate(Data)
}
</ItemTemplate>
它不会渲染任何内容,因为模板内容是空的。
如何ItemTemplate
有条件地添加或使用组件的默认值ItemTemplate
?
观察:我正在使用 Telerik,但是对于任何带有模板的组件,这个问题应该是通用的