您如何在 Enzyme 中模拟 keyDown 输入事件(或其他事件)?

新手上路,请多包涵

我正在尝试模拟 keyDown 事件,专门用于 Enter, keyCode: 13 。我已经尝试了许多不同的方法来做到这一点,但它们都不起作用。我也在网上查看过,似乎这个功能在当前版本的 Enzyme 中要么是错误的,要么是不工作的。有谁确切地知道此功能是否有效,如果有效,模拟输入或其他类型的关键事件的正确语法是什么?谢谢!

这是我目前拥有的,但它不起作用:

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

我目前的酶版本是 2.4.1

原文由 reectrix 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 865
2 个回答

我没有使用 keyCode,而是使用了一个键,在“Enter”的情况下,使用 mount

 wrapper.find('input').simulate('keypress', {key: 'Enter'})

原文由 alexfigtree 发布,翻译遵循 CC BY-SA 3.0 许可协议

我正在使用“浅”安装(带有 Jest 23.6.0 的 Enzyme 3.7.0)。这对我有用:

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

原文由 Brian Ho 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进