Cannot capture keydown event in a modal
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- android, angular, typescript
- Domínio
- mobile-dev
Direção de pesquisa
Comece pela implementação estendida de dispatchKeyEvent em activity.android.ts e reproduza o problema com um modal que não ocupa a tela inteira e contém o dropdown. Compare o tratamento das teclas no modal com o caso do componente funcional e verifique se os eventos das teclas de seta podem ser capturados e registrados sem quebrar a navegação do dropdown.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):
- CLI: 14
- Cross-platform modules:
- Android Runtime: 8.2
- iOS Runtime:
- Plugin(s):
- NativeScript-Angular: 13
- Angular: 13.2
Describe the bug
I am unable to capture the keydown event in a modal dialog.
The key press is coming from a hardware keyboard, not the onscreen one.
I can accomplish this in any other component using:
application.on('KEYCODE_DPAD_DOWN', (() => {
console.log('Keyboard Down Arrow Pressed');
}));
And it works fine.
This is after extending activity.android.ts, and adding:
public dispatchKeyEvent(event) {
let keyCode = event.getKeyCode();
switch (keyCode) {
case android.view.KeyEvent.KEYCODE_DPAD_LEFT:
case android.view.KeyEvent.KEYCODE_DPAD_UP:
application.notify({
eventName: 'KEYCODE_DPAD_UP',
})
return true;
case android.view.KeyEvent.KEYCODE_DPAD_RIGHT:
case android.view.KeyEvent.KEYCODE_DPAD_DOWN:
application.notify({
eventName: 'KEYCODE_DPAD_DOWN',
})
return true;
default:
return super.dispatchKeyEvent(event);
}
}
I have tried every manner of capturing the keypress in a modal that I could, none work.
To Reproduce
Extend android activity to capture a keypress, try to capture a keypress in a non-fullscreen modal.
Expected behavior
Should be able to capture the keypress and console log it, similar to how it is in a component.
Sample project
Additional context
In my modal, I have a dropdown. If I open the dropdown and then press the up/down arrow keys, it navigates through the selections, so the buttons work in the modal, I just don't know how to capture and console log them.
Please let me know if additional info is required.
- Linguagem predominante
- TypeScript
- Estrelas
- 55
- Forks
- 13
- Merge médio
- 16min
- PRs com merge (30d)
- 1
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de NativeScript/angular
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
NativeScript/angular#170 · 1 comentário ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
NativeScript/angular#164 ·
-
My types are gone Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 45/100
NativeScript/angular#163 · 1 comentário ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
NativeScript/angular#158 · 1 reação ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
NativeScript/angular#155 ·
Todas as issues de NativeScript/angular
Issues semelhantes
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
dennys-bd/agent-hive#184 ·
-
Add: hunch Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
AbdelStark/awesome-typesafe#104 ·
-
ai-observability bug team/ai-observability
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
vicharanashala/fln#563 ·