@typeparam TItem @if (Header != null) { @Header } @for (var i = 0; i < Items.Count; i++) { var item = Items[i]; @ItemTemplate(item) } @if (Footer != null) { @Footer }
@functions { [Parameter] RenderFragment Header { get; set; } [Parameter] RenderFragment ItemTemplate { get; set; } [Parameter] RenderFragment Footer { get; set; } [Parameter] IReadOnlyList Items { get; set; } }