Странное поведение всплывающего окна - PullRequest
0 голосов
/ 22 января 2020

У меня есть модальный контроллер всплывающих окон, который я динамически отображаю на странице, определенной следующим образом:

<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"); удалено, диалоговое окно закрывается нормально, но, очевидно, обратный вызов не вызывается.

Нет ошибок.

...