Мне нужно отобразить таблицу данных. Потенциально существует много сотен строк, и на их рендеринг уходит пара секунд. В течение этого времени пользовательский интерфейс кажется замороженным.
Данные уже находятся в памяти, поэтому я полагаю, что время занимает только часть рендеринга.
Я думал, что если пользователи могли ВИДЕТЬ каждую строку, добавляемую в таблицу, это было бы не так плохо. Вот общая концепция кода.
@if (MyList!= null)
{
<table class="table">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Date</th>
<th scope="col">ExtraData</th>
@if (ExtraData == DataType.Good)
{
<th scope="col">Good Data</th>
}
@if (ExtraData == DataType.Bad)
{
<th scope="col">Bad Data</th>
}
</tr>
</thead>
<tbody>
@foreach (var c in MyList)
{
<tr>
<td>@c.Name</td>
<td>@c.Date.ToShortDateString()</td>
<td>@c.Data.ToString()</td>
@if (ExtraData == DataType.Good)
{
<td>c.GoodData.ToString()</td>
}
@if (ExtraData == DataType.Bad)
{
<td>c.BadData.ToString()</td>
}
</tr>
}
</tbody>
</table>
}
else
{
<div>Loading...</div>
}
@code {
[Parameter] public List<Data> MyList{ get; set; }
[Parameter] public DataType ExtraData { get; set; }
}