Есть ли способ вызвать событие выбора при нажатии клавиши (ввод)?

Я пытаюсь сделать клавиатуру диаграммы доступной, и мне нужен способ вызвать событие выбора при нажатии клавиши.

<ngx-charts-advanced-pie-chart>
   (select)="onSelect($event)"
   ...
</ngx-charts-advanced-pie-chart>

У меня есть вызов функции, когда есть щелчок, который обрабатывается выходом (select). Мне нужно сделать то же самое для клавиши ввода, что-то вроде (keydown.enter) = onSelect ($ event). Проблема в том, что событие $, переданное из действия (keydown.enter), отличается от действия (select). В нем есть множество элементов, связанных с DOM, тогда как событие (select) имеет красиво отформатированное имя и значение объекта, по которому щелкнули, что мне и нужно.

Есть ли способ вызвать (выбрать) вывод нажатием клавиши? Или есть способ получить то же событие $, которое передается из вывода (select)? Любой способ подойдет мне.


person Kevin    schedule 16.10.2020    source источник


Ответы (1)


Поскольку событие (select) запускается щелчком мыши, а вы хотите, чтобы оно запускалось нажатием на клавиатуру, это по определению невозможно. Вы упомянули, что пытаетесь сделать диаграмму доступной с клавиатуры. Если у вас есть готовая базовая навигация, возможно, вы сможете использовать ее, чтобы прослушать (activate) и получить оттуда данные.

Однако я должен вас предупредить, что есть некоторые открытые ошибки с ngx-charts для навигации с помощью клавиатуры. Таким образом, реализация даже базовой навигации может оказаться сложнее, чем обычно.

https://github.com/swimlane/ngx-charts/issues/1329
https://github.com/swimlane/ngx-charts/issues/107

person sam    schedule 16.10.2020