Blazor virtualization is a technique for limiting UI rendering to just the parts that are currently visible. It improves the perceived performance of component rendering using the Blazor framework’s built-in virtualization support with the virtualize component. When you are using a long list-item component with a loop, you can use virtualization for better performance.
Use the Virtualize component when:
- A set of data items in a loop needs to be rendered.
- Many items can’t be seen when scrolling.
- Items to be rendered are equal in size.
Prerequisites:
- .NET 5.0 and above.
- Visual Studio 2019 Preview 3 (v16.8) or greater.
Follow the below example to achieve this.
[Index.razor]
@page "/"
<Virtualize Items="employees" Context="employee">
<tr>
<td>@employee.EmployeeId</td>
<td>@employee.Salary</td>
</tr>
</Virtualize>
@code {
private List<Employee> employees;
protected override async Task OnInitializedAsync()
{
employees = await EmployeeDetails();
}
private async Task<List<Employee>> EmployeeDetails()
{
List<Employee> empList = new List<Employee>();
for (int i = 1; i <= 30; i++)
{
var emp = new Employee()
{
EmployeeId = $"EmpID - {i}",
Salary = $"Salary - {i * 100}",
};
empList.Add(emp);
}
return await Task.FromResult(empList);
}
public class Employee
{
public string EmployeeId { get; set; }
public string Salary { get; set; }
}
}
Refer to “ASP.NET Core Blazor component virtualization” for more details.
Share with