Как обработать событие dialog.onclose в Blazor - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь использовать дескриптор события onclose из dialog в Blazor. Я пытался использовать атрибут @onclose, но он не работает.

<dialog @onclose="MyEventHandler">
</dialog>

@code {    
    async Task MyEventHandler()
    {
    }
}

Это приводит к следующей ошибке:

Unhandled exception rendering component: InvalidCharacterError: Failed to execute 'setAttribute' on 'Element': '@onclose' is not a valid attribute name.
System.InvalidOperationException: InvalidCharacterError: Failed to execute 'setAttribute' on 'Element': '@onclose' is not a valid attribute name.
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.InvokeRenderCompletedCallsAfterUpdateDisplayTask(Task updateDisplayTask, Int32[] updatedComponents)

Возможно ли обработать это событие в Blazor?

Среда:

  • Blazor - рендеринг на стороне сервера
  • . NET Core 3.1

1 Ответ

0 голосов
/ 16 января 2020

Существуют лучшие способы реализации диалогов, так как тег <dialog> широко не поддерживается (Edge, IE, Safari не поддерживает его). Рассмотрим https://github.com/Blazored/Modal в качестве одного примера.

Но это можно сделать. Затем вы можете установить атрибут open в значение Blazor и установить значение NULL, если хотите скрыть диалоговое окно (при этом атрибут был удален). Я создал простую демонстрацию (ссылка ниже).

https://blazorfiddle.com/s/qq3osesu

Обратите внимание, что это будет работать только в FireFox / Chrome.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...