So zeigen Sie einen Wartecursor oder Spinner während API-Aufrufen in Blazor an
Problem:
Lange- Das Ausführen von API-Aufrufen in Blazor-Apps erfordert eine Möglichkeit, Benutzern visuelles Feedback zu geben, z. B. einen Wartecursor oder einen Lade-Spinner. Das manuelle Umschalten dieser Zustände mithilfe von CSS führt jedoch möglicherweise nicht dazu, dass die Seite sofort aktualisiert wird.
Lösung 1: Verwenden von Task.Delay(1)
private async Task AsyncLongFunc() { spinning = true; await Task.Delay(1); // flush changes LongFunc(); // non-async code currentCount++; spinning = false; await Task.Delay(1); // flush changes again }
Lösung 2: Verwenden von Task.Run() (nicht für WebAssembly)
async Task AsyncLongOperation() { spinning = true; await Task.Run(() => LongOperation()); currentCount++; spinning = false; }
Überlegungen zum serverseitigen Vor-Rendering:
protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await Task.Run(() => LongOperation()); // or Task.Delay(0) without Task.Run StateHasChanged(); } }
Das obige ist der detaillierte Inhalt vonWie kann man Ladeindikatoren während Blazor-API-Aufrufen effektiv anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!