我尝试扩展 EditForm ,例如
MyEditFormBase: EditForm
{
}
和 MyEditForm.razor
@inherits MyEditFormBase
@ChildContent
当我这样使用时
<MyEditForm Model="TestModel">
<div>
<InputText @bind-Value="TestModel.Name"></InputText>
</div>
</MyEditForm>
这呈现为
Microsoft.AspNetCore.Components.RenderFragment`1[Microsoft.AspNetCore.Components.Forms.EditContext]
答案 0 :(得分:0)
EditForm的ChildContent不是常规的RenderFragment,而是类型为RenderFragment
为了渲染它,您必须像这样传递参数:
@ChildContent(EditContext)
这种模板的优点是您可以随后通过@context从子内容访问EditContext对象。