IDialogService

Il IDialogService fournit des méthodes pour afficher des dialogues modaux à l’utilisateur, y compris des invites de confirmation, des messages d’erreur, des notifications d’information, des notifications de réussite, des avertissements et des dialogues contenant votre propre contenu.

Injection du Service

Accédez au service de dialogue depuis n’importe quel composant. Dans React, appeler useDialogService() depuis l’intérieur de l’arbre enroulé par le fournisseur de dialogue du cadre ; dans Blazor, injecter le service via injection de propriétés. Notez que le service de dialogue PowerPortalsPro est distinct du service de dialogue sous-jacent FluentUI.

React Blazor

Dialogues de confirmation

Utilisez-le ShowConfirmationAsync pour poser une question oui/non à l’utilisateur. La propriété retournée DialogResult.Cancelled est true lorsque l’utilisateur sélectionne l’option secondaire (négative).

React Blazor

Dialogues de messages

Utilisez les méthodes suivantes pour afficher des dialogues de messages à un seul bouton avec différents styles visuels :

  • ShowInfoAsync — Message d’information avec une icône neutre.
  • ShowSuccessAsync — Message de réussite avec une icône verte à cocher.
  • ShowWarningAsync — Message d’avertissement avec une icône d’avertissement jaune.
  • ShowErrorAsync — Message d’erreur avec une icône d’erreur rouge.
React Blazor

Dialogues avec votre propre contenu

ShowDialogAsync affiche votre propre contenu, comme un formulaire, un sélecteur ou un aperçu, et renvoie ce avec quoi se termine la conversation. Dans Blazor, passez un composant (ou un RenderFragment) ; dans React, passez une fonction qui affiche le contenu. Définissez PrimaryText et SecondaryText pour les boutons que le service dessine, ou laissez les deux de côté pour le contenu qui dessine le sien.

Le contenu reçoit le dialogue dans lequel il est affiché : an IDialogContext in Blazor, reçu comme paramètre en cascade, et a DialogHandle dans React, passé à la fonction de rendu et disponible n’importe où à l’intérieur via useDialogHandle(). Utilisez-le pour fermer avec une valeur, annuler, activer ou désactiver le bouton principal, ou définir ce que fait le bouton principal. Ce que cette action retourne, c’est ce que le dialogue renvoie. Return KeepOpen (KEEP_OPEN dans React) pour garder la boîte de dialogue ouverte, par exemple tant que l’entrée n’est pas encore valide.

React Blazor

Démo de contenu personnalisé

Ouvre une boîte de dialogue avec un formulaire. Sauvegarde garde la boîte ouverte jusqu’à ce qu’un nom soit saisi, puis le renvoie à la page ; Annuler ne renvoie rien.

Exemple de réaction Exemple de Blazor React TypeScript Razor
Renommer...

Paramètres communs

Toutes les méthodes de dialogue acceptent les options title et primaryText les paramètres. Si elles sont omises, des valeurs par défaut localisées sont utilisées. La boîte de dialogue de confirmation accepte également un secondaryText paramètre pour l’étiquette du bouton annuler.

Résultat du dialogue

Toutes les méthodes retournent un DialogResult objet. Pour les dialogues de confirmation, vérifiez la Cancelled propriété afin de déterminer le choix de l’utilisateur. Pour les dialogues de messages, le résultat indique que le dialogue a été rejeté.

Démo interactive

Utilisez les contrôles ci-dessous pour personnaliser le titre de dialogue et le message, puis cliquez sur n’importe quel bouton pour voir le type de dialogue correspondant.

Exemple de réaction Exemple de Blazor React TypeScript Razor
Dialogue de confirmation d’affichage Dialogue d’affichage des erreurs Dialogue Afficher Infos Dialogue de réussite de l’émission Dialogue d’avertissement affiché
Réagir Blazor

IDialogService Interface

Propriétés

Nom
Type
Par défaut
Description
OpenDialogCountint
Combien de dialogues ce service a-t-il actuellement ouverts ? Ses propres dialogues uniquement — les boîtes de message et les confirmations affichées via les méthodes ci-dessous. Un panneau d’enregistrements est un dialogue FluentUI généré via leur service, donc ce n’est pas le cas compté ici, et c’est ce qui rend ce nombre utile pour la couche superposée : il signifie « un message que l’utilisateur doit pouvoir lire et répondre », pas « quelque chose en forme de dialogue est ouvert ».
Nom: OpenDialogCount
Type: int
Description: Combien de dialogues ce service a-t-il actuellement ouverts ? Ses propres dialogues uniquement — les boîtes de message et les confirmations affichées via les méthodes ci-dessous. Un panneau d’enregistrements est un dialogue FluentUI généré via leur service, donc ce n’est pas le cas compté ici, et c’est ce qui rend ce nombre utile pour la couche superposée : il signifie « un message que l’utilisateur doit pouvoir lire et répondre », pas « quelque chose en forme de dialogue est ouvert ».

Méthodes

Nom
Paramètres
Type
Description
ShowConfirmationAsyncstring message
string title
string primaryText
string secondaryText
Task<DialogResult>
Affiche une boîte de confirmation avec les boutons fournis message et deux boutons d’action, puis attend l’utilisateur doit en choisir un. Le retour Services.DialogResult est DialogResult.Cancelled fixé à Vrai lorsque l’utilisateur sélectionne l’option secondaire (négative).
ShowDialogAsync<TComponent>Action<CustomDialogOptions> configure
IDictionary<string, Object> parameters
Task<DialogResult>
Ça apparaît dans un dialogue et ça attend qu’il se ferme.
ShowErrorAsyncstring message
string title
string primaryText
Task<DialogResult>
Affiche une boîte d’erreur avec le fichier fourni message et attend que l’utilisateur la désactive.
ShowInfoAsyncstring message
string title
string primaryText
Task<DialogResult>
Affiche une conversation informative avec le contenu fourni message et attend que l’utilisateur la renverse.
ShowSuccessAsyncstring message
string title
string primaryText
Task<DialogResult>
Affiche un dialogue de réussite avec le fourni message et attend que l’utilisateur le rejette.
ShowWarningAsyncstring message
string title
string primaryText
Task<DialogResult>
Affiche une boîte d’avertissement avec le contenu fourni message et attend que l’utilisateur la renverse.
Nom: ShowConfirmationAsync
Paramètres: string message
string title
string primaryText
string secondaryText
Type: Task<DialogResult>
Description: Affiche une boîte de confirmation avec les boutons fournis message et deux boutons d’action, puis attend l’utilisateur doit en choisir un. Le retour Services.DialogResult est DialogResult.Cancelled fixé à Vrai lorsque l’utilisateur sélectionne l’option secondaire (négative).
Nom: ShowDialogAsync<TComponent>
Paramètres: Action<CustomDialogOptions> configure
IDictionary<string, Object> parameters
Type: Task<DialogResult>
Description: Ça apparaît dans un dialogue et ça attend qu’il se ferme.
Nom: ShowErrorAsync
Paramètres: string message
string title
string primaryText
Type: Task<DialogResult>
Description: Affiche une boîte d’erreur avec le fichier fourni message et attend que l’utilisateur la désactive.
Nom: ShowInfoAsync
Paramètres: string message
string title
string primaryText
Type: Task<DialogResult>
Description: Affiche une conversation informative avec le contenu fourni message et attend que l’utilisateur la renverse.
Nom: ShowSuccessAsync
Paramètres: string message
string title
string primaryText
Type: Task<DialogResult>
Description: Affiche un dialogue de réussite avec le fourni message et attend que l’utilisateur le rejette.
Nom: ShowWarningAsync
Paramètres: string message
string title
string primaryText
Type: Task<DialogResult>
Description: Affiche une boîte d’avertissement avec le contenu fourni message et attend que l’utilisateur la renverse.
Réagir Blazor

DialogResult Classe

Propriétés

Nom
Type
Par défaut
Description
Cancelledbool
False
Obtient une valeur indiquant si le dialogue a été annulé (par exemple, l’utilisateur l’a rejeté sans confirmer).
DataObject?
Une charge utile de données optionnelle est renvoyée par la boîte de dialogue lorsqu’elle était fermée.
Nom: Cancelled
Type: bool
Par défaut: False
Description: Obtient une valeur indiquant si le dialogue a été annulé (par exemple, l’utilisateur l’a rejeté sans confirmer).
Nom: Data
Type: Object?
Description: Une charge utile de données optionnelle est renvoyée par la boîte de dialogue lorsqu’elle était fermée.

Méthodes

Nom
Paramètres
Type
Description
CancelObject data
DialogResult
Crée un Services.DialogResult représentant un résultat annulé, transportant éventuellement une charge utile de données.
GetData<T>T?
La valeur avec laquelle le dialogue se terminait, comme : par défaut quand il était annulé, fermé avec rien, ou fermé avec une valeur d’un autre type.
Ok<T>T result
DialogResult
Crée un Services.DialogResult représentant un résultat confirmé, portant result comme charge utile de données.
TryGetData<T>out T value
bool
Lit la valeur avec laquelle le dialogue s’est fermé, comme .
Nom: Cancel
Paramètres: Object data
Type: DialogResult
Description: Crée un Services.DialogResult représentant un résultat annulé, transportant éventuellement une charge utile de données.
Nom: GetData<T>
Type: T?
Description: La valeur avec laquelle le dialogue se terminait, comme : par défaut quand il était annulé, fermé avec rien, ou fermé avec une valeur d’un autre type.
Nom: Ok<T>
Paramètres: T result
Type: DialogResult
Description: Crée un Services.DialogResult représentant un résultat confirmé, portant result comme charge utile de données.
Nom: TryGetData<T>
Paramètres: out T value
Type: bool
Description: Lit la valeur avec laquelle le dialogue s’est fermé, comme .
Réagir Blazor

CustomDialogOptions Classe

Propriétés

Nom
Type
Par défaut
Description
PreventDismissOnEscapebool
False
Si Échapement est empêché de fermer le dialogue ? Par défaut false.
PrimaryTextstring?
L’étiquette du bouton principal. Le service dessine le bouton lorsque ce bouton est réglé ; laissez les deux et CustomDialogOptions.SecondaryText déconfiguré pour le contenu qui dessine ses propres boutons. Quel est le bouton fait est jusqu’à IDialogContext.OnPrimary.
SecondaryTextstring?
L’appellation du bouton secondaire. Le service dessine le bouton lorsque ce bouton est activé, puis il annule Le dialogue.
ShowDismissbool
True
Si l’en-tête affiche un bouton de fermeture. Par défaut true.
Titlestring?
Le titre du dialogue, indiqué dans son en-tête. Omets-le pour un dialogue sans en-tête.
Widthstring?
La largeur du dialogue en tant que longueur CSS, par exemple « min(700px, 90vw) ». Omets-le pour la valeur par défaut.
Nom: PreventDismissOnEscape
Type: bool
Par défaut: False
Description: Si Échapement est empêché de fermer le dialogue ? Par défaut false.
Nom: PrimaryText
Type: string?
Description: L’étiquette du bouton principal. Le service dessine le bouton lorsque ce bouton est réglé ; laissez les deux et CustomDialogOptions.SecondaryText déconfiguré pour le contenu qui dessine ses propres boutons. Quel est le bouton fait est jusqu’à IDialogContext.OnPrimary.
Nom: SecondaryText
Type: string?
Description: L’appellation du bouton secondaire. Le service dessine le bouton lorsque ce bouton est activé, puis il annule Le dialogue.
Nom: ShowDismiss
Type: bool
Par défaut: True
Description: Si l’en-tête affiche un bouton de fermeture. Par défaut true.
Nom: Title
Type: string?
Description: Le titre du dialogue, indiqué dans son en-tête. Omets-le pour un dialogue sans en-tête.
Nom: Width
Type: string?
Description: La largeur du dialogue en tant que longueur CSS, par exemple « min(700px, 90vw) ». Omets-le pour la valeur par défaut.
Réagir Blazor

IDialogContext Interface

Propriétés

Nom
Type
Par défaut
Description
OnPrimaryFunc<Task<Object>>?
S’exécute lorsque le bouton principal tiré par le service est pressé. Son résultat est ce que le dialogue revient, dans DialogResult.Data; retourner IDialogContext.KeepOpen pour garder le dialogue ouvert à la place. Désactivé, le bouton ferme la boîte de dialogue sans données. Pendant qu’il s’exécute, les boutons sont désactivé et Évasion ne désactive pas le dialogue (sur Blazor Server, à partir d’un instant après le clique : le bloc atteint le navigateur un aller-retour plus tard). S’il lance, l’erreur est enregistrée, la boîte de dialogue reste ouverte, et un message d’erreur général s’affiche au-dessus ; pour Les défaillances qu’un utilisateur peut corriger, dire soi-même ce qui a mal tourné et retourner IDialogContext.KeepOpen.
PrimaryEnabledbool
Si le bouton principal tiré par le service peut être pressé, par exemple seulement une fois qu’un choix requis est Fait. Par défaut true.
Nom: OnPrimary
Type: Func<Task<Object>>?
Description: S’exécute lorsque le bouton principal tiré par le service est pressé. Son résultat est ce que le dialogue revient, dans DialogResult.Data; retourner IDialogContext.KeepOpen pour garder le dialogue ouvert à la place. Désactivé, le bouton ferme la boîte de dialogue sans données. Pendant qu’il s’exécute, les boutons sont désactivé et Évasion ne désactive pas le dialogue (sur Blazor Server, à partir d’un instant après le clique : le bloc atteint le navigateur un aller-retour plus tard). S’il lance, l’erreur est enregistrée, la boîte de dialogue reste ouverte, et un message d’erreur général s’affiche au-dessus ; pour Les défaillances qu’un utilisateur peut corriger, dire soi-même ce qui a mal tourné et retourner IDialogContext.KeepOpen.
Nom: PrimaryEnabled
Type: bool
Description: Si le bouton principal tiré par le service peut être pressé, par exemple seulement une fois qu’un choix requis est Fait. Par défaut true.

Méthodes

Nom
Paramètres
Type
Description
CancelAsyncTask
Ferme le dialogue comme annulé, ce qui renvoie Cancel(System.Object).
CloseAsyncObject data
Task
Ferme le dialogue, qui revient DialogResult.Ok`<T>(`<U>) avec data.
Nom: CancelAsync
Type: Task
Description: Ferme le dialogue comme annulé, ce qui renvoie Cancel(System.Object).
Nom: CloseAsync
Paramètres: Object data
Type: Task
Description: Ferme le dialogue, qui revient DialogResult.Ok`<T>(`<U>) avec data.