IDialogService

Es IDialogService bietet Methoden, um dem Nutzer modale Dialoge anzuzeigen, darunter Bestätigungshinweise, Fehlermeldungen, Informationshinweise, Erfolgsbenachrichtigungen und Warnungen sowie Dialoge mit eigenen Inhalten.

Injektion des Dienstes

Greifen Sie von jeder Komponente aus auf den Dialogdienst zu. In React wird useDialogService() der Baum vom Framework-Dialoganbieter gewrapped; in Blazor wird der Dienst per Property Injection injiziert. Beachten Sie, dass der PowerPortalsPro-Dialogdienst sich vom zugrundeliegenden FluentUI-Dialogdienst unterscheidet.

React Blazor

Bestätigungsdialoge

Benutze, ShowConfirmationAsync um den Nutzer mit einer Ja/Nein-Frage zu befragen. Die zurückgegebene DialogResult.Cancelled Eigenschaft ist true , wenn der Benutzer die sekundäre (negative) Option auswählt.

React Blazor

Nachrichtendialoge

Verwenden Sie die folgenden Methoden, um Nachrichtendialoge mit nur einer Taste in unterschiedlichen visuellen Stilen anzuzeigen:

  • ShowInfoAsync — Informationsnachricht mit neutralem Symbol.
  • ShowSuccessAsync — Erfolgsmeldung mit grünem Häkchen.
  • ShowWarningAsync — Warnmeldung mit gelbem Warnsymbol.
  • ShowErrorAsync — Fehlermeldung mit rotem Fehlersymbol.
React Blazor

Dialoge mit deinen eigenen Inhalten

ShowDialogAsync Zeigt eigene Inhalte an, wie ein Formular, einen Picker oder eine Vorschau, und zeigt an, womit der Dialog endet. In Blazor übergeben Sie eine Komponente (oder eine RenderFragmentKomponente); in React geben Sie eine Funktion weiter, die den Inhalt rendert. Setzen PrimaryText Sie und SecondaryText für die Buttons, die der Service zieht, oder lassen Sie beide für Inhalte weg, die eigene zeichnen.

Der Inhalt erhält den Dialog, in dem er angezeigt wird: an IDialogContext in Blazor, empfangen als kaskadenierender Parameter, und a DialogHandle in React, an die Render-Funktion weitergegeben und überall innerhalb useDialogHandle()verfügbar. Verwenden Sie es, um mit einem Wert zu schließen, die Haupttaste zu beenden, die Haupttaste zu aktivieren oder zu deaktivieren oder einzustellen, was die Haupttaste tut. Was diese Aktion zurückgibt, ist das, was der Dialog zurückgibt. Return KeepOpen (KEEP_OPEN in React), um den Dialog offen zu halten, zum Beispiel, solange die Eingabe noch nicht gültig ist.

React Blazor

Demo für benutzerdefinierte Inhalte

Öffnet einen Dialog mit einem Formular. Speichern lässt den Dialog offen, bis ein Name eingegeben wird, und bringt ihn dann zur Seite zurück; Abbrechen bringt nichts zurück.

React-Beispiel Blazor-Beispiel React TypeScript Razor
Umbenennen...

Gemeinsame Parameter

Alle Dialogmethoden akzeptieren optional title und primaryText Parameter. Wenn sie weggelassen werden, werden lokalisierte Standardwerte verwendet. Der Bestätigungsdialog akzeptiert außerdem einen Parameter secondaryText für das Abbrechen-Button-Label.

Dialogergebnis

Alle Methoden geben ein DialogResult Objekt zurück. Für Bestätigungsdialoge überprüfen Sie die Eigenschaft Cancelled , um die Wahl des Nutzers zu bestimmen. Bei Nachrichtendialogen zeigt das Ergebnis an, dass der Dialog geschlossen wurde.

Interaktive Demo

Verwenden Sie die untenstehenden Steuerungen, um den Dialogtitel und die Nachricht anzupassen, und klicken Sie dann auf eine beliebige Taste, um den entsprechenden Dialogtyp zu sehen.

React-Beispiel Blazor-Beispiel React TypeScript Razor
Show-Bestätigungsdialog Fehler-Anzeigen-Dialog Dialog: Anzeigen-Informationen Show Success Dialog Warnungsdialog anzeigen
Reagieren Blazor

IDialogService Interface

Eigenschaften

Name
Typ
Default
Beschreibung
OpenDialogCountint
Wie viele Dialoge hat dieser Dienst derzeit offen? Nur eigene Dialoge – die Nachrichtenfelder und Bestätigungen, die über die untenstehenden Methoden angezeigt werden. Ein Datensatz-Panel ist ein FluentUI-Dialog, der über ihren Service geöffnet wird, also ist es nicht hier gezählt, und genau das macht diese Zahl für die Überlagerungsschicht nützlich: Sie bedeutet 'A Nachricht, die der Nutzer lesen und beantworten kann', nicht 'etwas Dialogförmiges ist offen'.
Name: OpenDialogCount
Typ: int
Beschreibung: Wie viele Dialoge hat dieser Dienst derzeit offen? Nur eigene Dialoge – die Nachrichtenfelder und Bestätigungen, die über die untenstehenden Methoden angezeigt werden. Ein Datensatz-Panel ist ein FluentUI-Dialog, der über ihren Service geöffnet wird, also ist es nicht hier gezählt, und genau das macht diese Zahl für die Überlagerungsschicht nützlich: Sie bedeutet 'A Nachricht, die der Nutzer lesen und beantworten kann', nicht 'etwas Dialogförmiges ist offen'.

Methoden

Name
Parameter
Typ
Beschreibung
ShowConfirmationAsyncstring message
string title
string primaryText
string secondaryText
Task<DialogResult>
Zeigt einen Bestätigungsdialog mit den bereitgestellten message und zwei Aktionstasten an, dann wartet auf Der Nutzer wählt eine aus. Die zurückgegebene Eingabe Services.DialogResult ist DialogResult.Cancelled gesetzt auf wahr, wenn der Nutzer die sekundäre (negative) Option auswählt.
ShowDialogAsync<TComponent>Action<CustomDialogOptions> configure
IDictionary<string, Object> parameters
Task<DialogResult>
Wird in einem Dialog angezeigt und wartet, bis er geschlossen ist.
ShowErrorAsyncstring message
string title
string primaryText
Task<DialogResult>
Zeigt ein Fehler-Dialog mit dem angegebenen message Symbol an und wartet darauf, dass der Benutzer es schließt.
ShowInfoAsyncstring message
string title
string primaryText
Task<DialogResult>
Zeigt einen Informationsdialog mit dem bereitgestellten message Dialog und wartet darauf, dass der Nutzer ihn abschließt.
ShowSuccessAsyncstring message
string title
string primaryText
Task<DialogResult>
Zeigt einen erfolgreichen Dialog mit dem bereitgestellten message Dialog und wartet darauf, dass der Nutzer ihn abschließt.
ShowWarningAsyncstring message
string title
string primaryText
Task<DialogResult>
Zeigt einen Warndialog mit dem bereitgestellten message Bildschirm an und wartet darauf, dass der Benutzer ihn schließt.
Name: ShowConfirmationAsync
Parameter: string message
string title
string primaryText
string secondaryText
Typ: Task<DialogResult>
Beschreibung: Zeigt einen Bestätigungsdialog mit den bereitgestellten message und zwei Aktionstasten an, dann wartet auf Der Nutzer wählt eine aus. Die zurückgegebene Eingabe Services.DialogResult ist DialogResult.Cancelled gesetzt auf wahr, wenn der Nutzer die sekundäre (negative) Option auswählt.
Name: ShowDialogAsync<TComponent>
Parameter: Action<CustomDialogOptions> configure
IDictionary<string, Object> parameters
Typ: Task<DialogResult>
Beschreibung: Wird in einem Dialog angezeigt und wartet, bis er geschlossen ist.
Name: ShowErrorAsync
Parameter: string message
string title
string primaryText
Typ: Task<DialogResult>
Beschreibung: Zeigt ein Fehler-Dialog mit dem angegebenen message Symbol an und wartet darauf, dass der Benutzer es schließt.
Name: ShowInfoAsync
Parameter: string message
string title
string primaryText
Typ: Task<DialogResult>
Beschreibung: Zeigt einen Informationsdialog mit dem bereitgestellten message Dialog und wartet darauf, dass der Nutzer ihn abschließt.
Name: ShowSuccessAsync
Parameter: string message
string title
string primaryText
Typ: Task<DialogResult>
Beschreibung: Zeigt einen erfolgreichen Dialog mit dem bereitgestellten message Dialog und wartet darauf, dass der Nutzer ihn abschließt.
Name: ShowWarningAsync
Parameter: string message
string title
string primaryText
Typ: Task<DialogResult>
Beschreibung: Zeigt einen Warndialog mit dem bereitgestellten message Bildschirm an und wartet darauf, dass der Benutzer ihn schließt.
Reagieren Blazor

DialogResult Baureihe

Eigenschaften

Name
Typ
Default
Beschreibung
Cancelledbool
False
Erhält einen Wert, der angibt, ob der Dialog abgebrochen wurde (z. B. hat der Benutzer ihn ohne Bestätigung abgelehnt).
DataObject?
Optionale Datennutzlast, die vom Dialog beim Schließen zurückgegeben wird.
Name: Cancelled
Typ: bool
Default: False
Beschreibung: Erhält einen Wert, der angibt, ob der Dialog abgebrochen wurde (z. B. hat der Benutzer ihn ohne Bestätigung abgelehnt).
Name: Data
Typ: Object?
Beschreibung: Optionale Datennutzlast, die vom Dialog beim Schließen zurückgegeben wird.

Methoden

Name
Parameter
Typ
Beschreibung
CancelObject data
DialogResult
Erzeugt ein Services.DialogResult Ergebnis, das ein abgebrochenes Ergebnis darstellt und optional eine Datennutzlast trägt.
GetData<T>T?
Der Wert, mit dem der Dialog geschlossen wurde, als : Standard, als er war, storniert, mit nichts geschlossen oder mit einem Wert eines anderen Typs.
Ok<T>T result
DialogResult
Erzeugt ein Services.DialogResult Ergebnis, das ein bestätigtes Ergebnis darstellt und als Datennutzlast transportiert result wird.
TryGetData<T>out T value
bool
Liest den Wert, mit dem der Dialog geschlossen wurde, als .
Name: Cancel
Parameter: Object data
Typ: DialogResult
Beschreibung: Erzeugt ein Services.DialogResult Ergebnis, das ein abgebrochenes Ergebnis darstellt und optional eine Datennutzlast trägt.
Name: GetData<T>
Typ: T?
Beschreibung: Der Wert, mit dem der Dialog geschlossen wurde, als : Standard, als er war, storniert, mit nichts geschlossen oder mit einem Wert eines anderen Typs.
Name: Ok<T>
Parameter: T result
Typ: DialogResult
Beschreibung: Erzeugt ein Services.DialogResult Ergebnis, das ein bestätigtes Ergebnis darstellt und als Datennutzlast transportiert result wird.
Name: TryGetData<T>
Parameter: out T value
Typ: bool
Beschreibung: Liest den Wert, mit dem der Dialog geschlossen wurde, als .
Reagieren Blazor

CustomDialogOptions Baureihe

Eigenschaften

Name
Typ
Default
Beschreibung
PreventDismissOnEscapebool
False
Ob Escape daran gehindert wird, den Dialog zu schließen. Standard.false
PrimaryTextstring?
Das Label des Hauptknopfs. Der Service zieht den Knopf, wenn dieser eingestellt ist; lassen Sie beide so und CustomDialogOptions.SecondaryText nicht eingestellt für Inhalte, die eigene Buttons zeichnen. Was der Button ist Does liegt bei IDialogContext.OnPrimary.
SecondaryTextstring?
Das Etikett des sekundären Knopfs. Der Dienst zieht den Knopf, wenn diese eingestellt ist, und storniert dann Der Dialog.
ShowDismissbool
True
Ob der Header einen Schließknopf anzeigt. Standard.true
Titlestring?
Der Titel des Dialogs, der in der Kopfzeile angezeigt wird. Lass ihn weg, um einen Dialog ohne Dialog zu haben.
Widthstring?
Die Breite des Dialogs entspricht einer CSS-Länge, z. B. 'min(700px, 90vw)'. Lass es für den Standard weg.
Name: PreventDismissOnEscape
Typ: bool
Default: False
Beschreibung: Ob Escape daran gehindert wird, den Dialog zu schließen. Standard.false
Name: PrimaryText
Typ: string?
Beschreibung: Das Label des Hauptknopfs. Der Service zieht den Knopf, wenn dieser eingestellt ist; lassen Sie beide so und CustomDialogOptions.SecondaryText nicht eingestellt für Inhalte, die eigene Buttons zeichnen. Was der Button ist Does liegt bei IDialogContext.OnPrimary.
Name: SecondaryText
Typ: string?
Beschreibung: Das Etikett des sekundären Knopfs. Der Dienst zieht den Knopf, wenn diese eingestellt ist, und storniert dann Der Dialog.
Name: ShowDismiss
Typ: bool
Default: True
Beschreibung: Ob der Header einen Schließknopf anzeigt. Standard.true
Name: Title
Typ: string?
Beschreibung: Der Titel des Dialogs, der in der Kopfzeile angezeigt wird. Lass ihn weg, um einen Dialog ohne Dialog zu haben.
Name: Width
Typ: string?
Beschreibung: Die Breite des Dialogs entspricht einer CSS-Länge, z. B. 'min(700px, 90vw)'. Lass es für den Standard weg.
Reagieren Blazor

IDialogContext Interface

Eigenschaften

Name
Typ
Default
Beschreibung
OnPrimaryFunc<Task<Object>>?
Läuft, wenn der vom Service gezogene Hauptknopf gedrückt wird. Das Ergebnis ist das, was der Dialog zurückgibt, in DialogResult.Data; zurück, IDialogContext.KeepOpen um den Dialog offen zu halten Stattdessen. Deaktiviert, schließt der Button den Dialog ohne Daten. Während er läuft, sind die Tasten deaktiviert und Escape schließt den Dialog nicht ab (auf dem Blazor-Server, von einem Moment nach dem Klick: Der Block erreicht den Browser eine Hin- und Rückfahrt später). Wenn er geworfen wird, der Fehler wird protokolliert, der Dialog bleibt offen und eine allgemeine Fehlermeldung wird darüber angezeigt; für Fehler, die ein Nutzer beheben kann, sag selbst, was schiefgelaufen ist, und gib es zurück IDialogContext.KeepOpen.
PrimaryEnabledbool
Ob der vom Service gezogene Hauptknopf gedrückt werden kann, z. B. nur wenn eine erforderliche Wahl ist gemacht. Standard true.
Name: OnPrimary
Typ: Func<Task<Object>>?
Beschreibung: Läuft, wenn der vom Service gezogene Hauptknopf gedrückt wird. Das Ergebnis ist das, was der Dialog zurückgibt, in DialogResult.Data; zurück, IDialogContext.KeepOpen um den Dialog offen zu halten Stattdessen. Deaktiviert, schließt der Button den Dialog ohne Daten. Während er läuft, sind die Tasten deaktiviert und Escape schließt den Dialog nicht ab (auf dem Blazor-Server, von einem Moment nach dem Klick: Der Block erreicht den Browser eine Hin- und Rückfahrt später). Wenn er geworfen wird, der Fehler wird protokolliert, der Dialog bleibt offen und eine allgemeine Fehlermeldung wird darüber angezeigt; für Fehler, die ein Nutzer beheben kann, sag selbst, was schiefgelaufen ist, und gib es zurück IDialogContext.KeepOpen.
Name: PrimaryEnabled
Typ: bool
Beschreibung: Ob der vom Service gezogene Hauptknopf gedrückt werden kann, z. B. nur wenn eine erforderliche Wahl ist gemacht. Standard true.

Methoden

Name
Parameter
Typ
Beschreibung
CancelAsyncTask
Schließt den Dialog als abgebrochen, was zurückkehrt Cancel(System.Object).
CloseAsyncObject data
Task
Schließt den Dialog, der mit datazurückkehrtDialogResult.Ok`<T>(`<U>).
Name: CancelAsync
Typ: Task
Beschreibung: Schließt den Dialog als abgebrochen, was zurückkehrt Cancel(System.Object).
Name: CloseAsync
Parameter: Object data
Typ: Task
Beschreibung: Schließt den Dialog, der mit datazurückkehrtDialogResult.Ok`<T>(`<U>).