You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Testing Library user-event键盘失效:CTRL+,无法触发AG Grid交互

解决React Testing Library user-event无法触发CTRL+,组合键的问题
  • 先确保AG Grid元素已获得焦点:键盘事件需要目标元素处于聚焦状态才能触发,测试前先通过以下代码让网格容器聚焦:

    const gridElement = screen.getByRole('grid'); // 根据实际情况选择定位方式
    await user.focus(gridElement);
    
  • 使用正确的键盘组合语法:user-event中模拟“按住修饰键+按下普通字符”需要用{修饰键>}表示按住,输入字符后用<修饰键/>释放。针对CTRL+,的正确写法是:

    await user.keyboard('{ctrl>},<ctrl/>');
    

为什么之前的写法无效?

  • await user.keyboard('{ctrl},{/ctrl}'):仅单独按下并释放了CTRL键,未同时触发逗号按键
  • await user.keyboard('{ctrl}{,/}{/ctrl}'):语法错误,,/不是user-event识别的有效按键标识
  • await user.keyboard('{ctrl}[,]{/ctrl}'):先按下CTRL再释放,之后才按下逗号,并非同时按住CTRL的状态下触发逗号

如果使用的是user-event v13及更早版本,语法略有不同,可尝试以下写法:

await user.keyboard(['{ctrl}', ',', '{/ctrl}']);

内容的提问来源于stack exchange,提问作者JakeMN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:55:30