web-dev-qa-db-fra.com

Comment simuler un événement keyDown enter (ou autre) dans Enzyme?

J'essaie de simuler un événement keyDown, spécifiquement pour Enter, keyCode: 13. J'ai essayé différentes méthodes pour y parvenir, mais aucune d'entre elles ne fonctionne. J'ai également regardé en ligne et il semble que cette fonctionnalité soit buggée ou ne fonctionne pas dans la version actuelle d'Enzyme. Quelqu'un sait-il définitivement si cette fonctionnalité fonctionne et, dans l'affirmative, quelle est la syntaxe appropriée pour simuler une entrée ou d'autres types d'événements clés? Merci!

C'est ce que j'ai actuellement, et ça ne marche pas:

const input = wrapper.find('input');
input.simulate('keyDown', {keyCode: 13});

Ma version actuelle d'Enzyme est 2.4.1

17
reectrix

Au lieu d'utiliser un code de clé, j'ai utilisé une clé, dans le cas de 'Entrée', avec mount

wrapper.find('input').simulate('keypress', {key: 'Enter'})
22
alexfigtree
wrapper.find('input').simulate('keydown');

Ça marche pour moi...

3
Thomas John

J'utilise un montage «peu profond» (Enzyme 3.7.0 avec Jest 23.6.0). Ce travail pour moi:

const input = wrapper.find('input');
input.simulate('change', { target: { value: 'abcdefg'} });
input.simulate('keydown', { keyCode: 13 });
2
Brian Ho