У меня есть модальный контроллер всплывающих окон, который я динамически отображаю на странице, определенной следующим образом:
<MatDialog @bind-IsOpen="@Open">
<MatDialogTitle>@Title</MatDialogTitle>
<MatDialogContent>
@Content
</MatDialogContent>
<MatDialogActions>
<MatButton OnClick="@Yes">Yes</MatButton>
<MatButton OnClick="@(e => { Open = false; })">No</MatButton>
</MatDialogActions>
</MatDialog>
@code {
[Parameter] public bool Open { get; set; }
[Parameter] public string Title { get; set; }
[Parameter] public string Content { get; set; }
[Parameter] public EventCallback<string> YesCallback { get; set; }
void Yes()
{
Open = false;
YesCallback.InvokeAsync("deleted");
}
}
Это просто означало закрыть всплывающее окно и вызвать переданную функцию обратного вызова. Проблема в том, что YesCallback.InvokeAsync("deleted");
вызывается, диалог никогда не закрывается. Обратный вызов выполняется, но диалог остается открытым. Если YesCallback.InvokeAsync("deleted");
удалено, диалоговое окно закрывается нормально, но, очевидно, обратный вызов не вызывается.
Нет ошибок.