Comment afficher un curseur ou un fileur d'attente pendant les appels API dans Blazor
Problème :
Long- L'exécution d'appels API dans les applications Blazor nécessite un moyen de fournir un retour visuel aux utilisateurs, comme un curseur d'attente ou une flèche de chargement. Cependant, le fait de basculer manuellement ces états à l'aide de CSS peut ne pas actualiser la page rapidement.
Solution 1 : Utilisation de 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 }
Solution 2 : Utilisation de Task.Run() (pas pour WebAssembly)
async Task AsyncLongOperation() { spinning = true; await Task.Run(() => LongOperation()); currentCount++; spinning = false; }
Considérations relatives au pré-rendu côté serveur :
protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await Task.Run(() => LongOperation()); // or Task.Delay(0) without Task.Run StateHasChanged(); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!