A volte abbiamo l'esigenza di mostrare frammenti di UI in base al valore di un campo. Per fare un esempio, supponiamo che l'utente debba decidere come pagare. La UI mette a disposizione una dropdown contententi i valori "Carta di credito" e "Bonifico". Se l'utente seleziona "Carta di credito" la UI mostra i campi per inserire i dati della carta, altrimenti mostra i dati per il bonifico.
La direttiva ngIf è comoda, ma quando il numero di opzioni comincia ad aumentare, richiede un pò di codice HTML. In questi casi torna più comoda la direttiva ngSwitch in associazione con la direttiva ngSwitchCase.
<div [ngSwitch]="paymentType"> <input *ngSwitchCase="'cc'" [formControlName]="cc"> <input *ngSwitchCase="'bb'" [formControlName]="bb"> </div>
La direttiva ngSwitch specifica il campo in base al quale basare lo switch, mentre la direttiva ngSwitchCase decide se renderizzare o meno il frammento di HTML confrontando il valore che gli passiamo col valore del campo specificato in ngSwitch. Nel nostro caso, se l'utente seleziona Carta di credito ("cc"), allora viene renderizzata la prima textbox, altrimenti viene renderizzata la seconda.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Routing statico e PreRendering in una Blazor Web App
Migliorare l'organizzazione delle risorse con Azure Policy
Come migrare da una form non tipizzata a una form tipizzata in Angular
Filtering sulle colonne in una QuickGrid di Blazor
Gestire domini wildcard in Azure Container Apps
Eseguire query verso tipi non mappati in Entity Framework Core
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Eseguire i worklow di GitHub su runner potenziati
Creare un'applicazione React e configurare Tailwind CSS
Utilizzare Azure AI Studio per testare i modelli AI
Visualizzare le change sul plan di Terraform tramite le GitHub Actions