Come abbiamo visto nel recente articolo di introduzione a Blazor 5 (https://www.aspitalia.com/articoli/asp.net-core5/novita-aspnetcore-net5-p-3.aspx#title_2) tramite il componente Virtualize possiamo facilmente implementare una logica di infinite scroll, semplicemente configurandone la proprietà ItemsProvider.
Per migliorare l'esperienza utente, tuttavia, potremmo voler visualizzare un messaggio nel frattempo che il caricamento dei nuovi dati sia completato. Questo è esattamente lo scopo del template PlaceHolder:
<Virtualize Context="player" ItemsProvider="GetPlayers"> <ItemContent> <tr> <td>@person.Name</td> <td>@person.Email</td> <td>@person.Age</td> ... </tr> </ItemContent> <Placeholder> <div class="spinner-border" role="status"> <span class="sr-only">Loading...</span> </div> </Placeholder> </Virtualize>
Come possiamo notare, in questo caso il template di rendering degli elementi deve essere esplicitamente assegnato alla proprietà ItemContent.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare lo stream rendering per le pagine statiche di Blazor 8
Eseguire i worklow di GitHub su runner potenziati
Gestione dei nomi con le regole @layer in CSS
Creare una custom property in GitHub
Utilizzare Azure Cosmos DB con i vettori
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Limitare le richieste lato server con l'interactive routing di Blazor 8
Effettuare il binding di date in Blazor
Migliorare l'organizzazione delle risorse con Azure Policy
Applicare un filtro per recuperare alcune issue di GitHub
Evitare il flickering dei componenti nel prerender di Blazor 8
Gestire liste di tipi semplici con Entity Framework Core