Для этой конкретной проблемы stackblitz должно быть более простым.
Он представляет собой упрощенную версию настоящей проблемы приложения Angular 2+, которую я имею на TableComponent
, которая реагирует на @HostListener('keydown')
для обработки навигации по клавиатуре в ее ячейках. Проблема заключается в том, что некоторые ячейки являются редактируемыми и отображают <input>
в своем контенте, фокусируясь на И из этого <input>
, что делает TableComponent
потерянным фокусом и, следовательно, на уровне таблицы больше не регистрируется keydown
событий.
Как бы вы решили эту конкретную проблему?
Мои попытки на данный момент:
window:keydown
- это обходной путь, но он не является хорошим решением, поскольку он приносит больше проблем, чем решает.
- При фокусировке ввода, stopPropagation события и программная фокусировка на компоненте, но события нажатия клавиш в любом случае не восстанавливаются для таблицы