关闭 Mudblazor 对话框

use*_*651 6 dialog reference blazor mudblazor

我在 Blazor 应用程序中使用 Mudblazor。我在 ValidSubmit 处理程序内的组件中有以下代码:

public async Task HandleValidSubmit()
{
    DialogService.Show<SavingDialog>("Saving Data");
    await Http.PostAsJsonAsync("api/Client/AddClient", CModel);

    //close the dialog here...
    //DialogService.Close(<need reference here>);
}
Run Code Online (Sandbox Code Playgroud)

打开DialogServiceSavingDialog也是一个组件。http 调用后,我想关闭对话框。我怎么做?DialogService.Close(DialogReference dialog)我可以在文档中看到。

如何获取对我打开的对话框的引用以便将其关闭?

fas*_*aso 8

Show返回对打开的对话框的引用!

所以你需要做的就是这样:

public async Task HandleValidSubmit()
{
   var dialogRef = DialogService.Show<SavingDialog>("Saving Data");
   await Http.PostAsJsonAsync("api/Client/AddClient", CModel);

   //close the dialog here...
   dialogRef.Close();
}
Run Code Online (Sandbox Code Playgroud)

  • 那么从对话框组件内部呢?我有一个典型的 GUI 设置,其中打开对话框,并具有 [保存] 和 [关闭] 操作。这些函数是在内部处理的,在处理时,我需要从对话框内组件内触发对话框关闭。 (3认同)