If the Virtualize
component is placed inside an element that requires a specific child tag name, SpacerElement allows you to obtain or set the virtualization spacer tag name. The default value is div
. For the following example, the Virtualize
component renders inside a table body element (tbody), so the appropriate child element for a table row (tr) is set as the spacer.
@page "/virtualized-table" <HeadContent> <style> html, body { overflow-y: scroll } </style> </HeadContent> <h1>Virtualized Table Example</h1> <table id="virtualized-table"> <thead style="position: sticky; top: 0; background-color: silver"> <tr> <th>Item</th> <th>Another column</th> </tr> </thead> <tbody> <Virtualize Items="@fixedItems" ItemSize="30" SpacerElement="tr"> <tr @key="context" style="height: 30px;" id="[email protected]"> <td>Item @context</td> <td>Another value</td> </tr> </Virtualize> </tbody> </table> @code { private List<int> fixedItems = Enumerable.Range(0, 1000).ToList(); }
References
https://learn.microsoft.com/en-us/aspnet/core/blazor/components/virtualization?view=aspnetcore-7.0
https://youtu.be/oNZnYNUpu54