微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用键盘绑定在React

如何解决使用键盘绑定在React

上下文

我正在使用BlueprintJS创建具有预输入结果的自定义数据表,该结果将返回到Menu组件(请考虑使用预输入的Google表格)。我希望能够使用键盘上的箭头键浏览此菜单。当按下ArrowDown键时,我可以使菜单集中显示。然后,使用菜单上的键盘处理程序,跟踪当前所选项目的索引,并使用CSS突出显示它,使每个菜单项都准聚焦。

这里是我正在使用的示例。 Simple Input with Menu

问题

首先,此方法实际上并不关注列表项,这会破坏任何可访问性。其次,使用此方法时,由于按键处理程序仅跟踪菜单的顶级元素,因此我无法在子菜单之间切换。

潜在想法

当列表数据更改时(因为它是动态提前输入),请创建Refs对象,并将其传递给MyMenu函数,然后创建一个巧妙的按键处理程序,在每次按键导航上调用ref.current.focus()。这样可以使列表项正确地具有可访问性,但是不能确定这是否是正确的方法

问题

处理此问题的正确方法是什么?我应该考虑其他组件结构吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。