29-10 Confirmation de suppression
Pour le message de confirmation, on pourrait faire usage de Bootstrap directement on encore de confirm
en JavaScript
. Nous venons d'installer Blazor.Bootstrap
, nous pourrions l'utiliser pour afficher un message de confirmation!
Il existe un composant ConfirmDialog
dans Blazor.Bootstrap
que nous pouvons utiliser pour une situation du genre.
-
Ajoutez une référence à
ConfirmDialog
dans le composantShow
@code {
[Parameter]
public int Id { get; set; }
private string? alertMessage;
private EvenementDto? _evenementDto;
private ConfirmDialog _confirmDialog; -
Dans le haut de la page, ajoutez une balise
ConfirmDialog
faisant référence à l'attribut du composant.@page "/evenements/{Id:int}"
@using System.Net
@using Snowfall.Application.Dtos.Evenements
@using Snowfall.Web.Admin.HttpClients
@inject EvenementHttpClient EvenementHttpClient
@inject ToastService ToastService
@inject NavigationManager NavigationManager
//highlight-next-line
<ConfirmDialog @ref="_confirmDialog" /> -
Pour afficher le message de confirmation, utilisez
ShowAsync
sur_confirmationDialog
Snowfall.Web.Admin/Pages/Evenements/Show.razorasync Task SupprimerEvenement()
{
bool confirmation = await _confirmDialog.ShowAsync(
title: "Confirmation",
message1: "Êtes-vous certain de vouloir supprimer cet événement?");
// ...infoPlusieurs paramètres peuvent être passés, dont un titre et un message.
-
Si vous essayez, vous remarquerez toutefois que les boutons sont en anglais et que l'événement est supprimé peu importe le bouton appuyé.
-
Pour le text des boutons, on peut utiliser un objet d'options
async Task SupprimerEvenement()
{
ConfirmDialogOptions options = new ConfirmDialogOptions
{
YesButtonText = "Confirmer",
NoButtonText = "Annuler"
};
bool confirmation = await _confirmDialog.ShowAsync(
title: "Confirmation",
message1: "Êtes-vous certain de vouloir supprimer cet événement?",
options); -
Finalement, on peut utiliser le retour
confirmation
pour supprimer ou non.Vous devrez compléter cette portion vous-même. Utilisez la valeur booléenne
confirmation
pour déclencher le processus de suppression ou non.
Terminé! 😅