Я столкнулся с проблемой, которую не могу понять.
Вот запущенный пример проблемы, которую я пытаюсь решить с помощью TryMudBlazor.
Кнопка «Экспорт» должна быть отключена всякий раз, когда таблица загружает данные с помощью метода ServerData. Этот код работает нормально, за исключением самого первого процесса загрузки. Кнопка остается включенной, даже если таблица находится в состоянии загрузки.
Может ли кто-нибудь помочь мне найти логическое объяснение, почему это происходит только во время начальной загрузки? Есть очень похожий вопрос (см. свойство MudTable Loading, для которого установлено значение false - индикатор загрузки отображается при ServerReload), но предложенные решения не решают мою проблему.
Для удобства вот код из примера TryMudBlazor:
@using System.Text.Json.Serialization
@using System.Threading
Export
Reload
Periodic Elements
Nr
Sign
Name
Position
Molar mass
@context.Number
@context.Sign
@context.Name
@context.Position
@context.Molar
No matching records found
Loading...
@code {
#nullable enable
private MudTable? _table;
private async Task ServerReload(TableState state, CancellationToken token)
{
// Forward the provided token to methods which support it
List data = [];
// Simulate a long-running operation
await Task.Delay(2300, token);
// Get the total count
var totalItems = data.Count;
// Get the paged data
var pagedData = data.Skip(state.Page * state.PageSize).Take(state.PageSize).ToList();
// Return the data
return new TableData {TotalItems = totalItems, Items = pagedData};
}
private Task ReloadServerData() => _table is null ? Task.CompletedTask : _table.ReloadServerData();
protected override void OnAfterRender(bool firstRender)
{
if (_table is not null)
{
var count = _table.TotalItems;
}
}
public class Element
{
public string? Group { get; set; }
public int Position { get; set; }
public string? Name { get; set; }
public int Number { get; set; }
[JsonPropertyName("small")] public string? Sign { get; set; }
public double Molar { get; set; }
public IReadOnlyCollection? Electrons { get; set; }
///
/// Overriding Equals is essential for use with Select and Table because they use HashSets internally
///
public override bool Equals(object? obj) => Equals(GetHashCode(), obj?.GetHashCode());
///
/// Overriding GetHashCode is essential for use with Select and Table because they use HashSets internally
///
public override int GetHashCode() => Name?.GetHashCode() ?? 0;
public override string ToString() => $"{Sign} - {Name}";
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... ial-render
Свойство загрузки MudTable игнорируется при первоначальном рендеринге ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как исправить нулевой риск потерь при первоначальном расчете прибыли: машинное обучение
Anonymous » » в форуме Python - 0 Ответы
- 23 Просмотры
-
Последнее сообщение Anonymous
-