ant-design Using dropdownRender in Dropdown to wrap menu in JSX breaks keyboard focus inside menu

zaqlnxep  于 3个月前  发布在  其他
关注(0)|答案(1)|浏览(36)

Steps to reproduce

In <Dropdown /> , add a dropdownRender function that wraps the argument in any JSX -- HTML, fragments, other components. Tabbing into the menu no longer works, nor does using the up/down arrow keys to change options.

What is expected?

Menu items are still accessible through the keyboard

What is actually happening?

The menu items are no longer focusable from the keyboard. Using the arrow keys doesn't cycle through the options.
| Environment | Info |
| ------------ | ------------ |
| antd | 5.20.0 |
| React | React 18.2.0 |
| System | MacOS 14.5 |
| Browser | Chrome |

It would be ideal if <Dropdown /> retains this behavior regardless of the content surrounding the menu items. It seems like, if it's using the default Menu functionality, there'd be a way to hook into that into the render function. Perhaps looking for focusable elements surrounding the rendered menu in case there's a need to focus out of the menu?

If that gets too complicated, there could be some form of instructions or API that allows us to access this functionality. The current tabindex="-1" prevents us from using the browser functionality.

r1zhe5dt

r1zhe5dt1#

Hello @landisdesign. We totally like your proposal/feedback, welcome to send us a Pull Request for it. Please send your Pull Request to proper branch (feature branch for the new feature, master for bugfix and other changes), fill the Pull Request Template here, provide changelog/TypeScript/documentation/test cases if needed and make sure CI passed, we will review it soon. We appreciate your effort in advance and looking forward to your contribution!

你好 @landisdesign,我们完全同意你的提议/反馈,欢迎直接在此仓库 创建一个 Pull Request 来解决这个问题。请将 Pull Request 发到正确的分支(新特性发到 feature 分支,其他发到 master 分支),务必填写 Pull Request 内的 预设模板 ,提供改动所需相应的 changelog、TypeScript 定义、测试用例、文档等,并确保 CI 通过,我们会尽快进行 Review,提前感谢和期待您的贡献。

相关问题