Antd<Select/>组件添加了一个额外的下拉菜单元素并通过dropdownRender属性设置了该元素的onClick()事件,但是为什么这个事件没有效果?该如何解决?
创始人
2024-11-07 09:30:57
0

为实现点击下拉菜单元素时触发特定事件,可以在dropdownRender属性中返回一个React节点代替原始下拉菜单元素,并为该节点绑定onClick()事件。如果使用原始下拉菜单元素,由于该元素被Antd的Select组件包含,并非直接添加到DOM中,因此不会触发onClick()事件。另外,还需要注意确保事件处理函数中的this指向是正确的,可以使用箭头函数来避免this指向问题。示例代码如下:

const options = [ { value: '1', label: 'Option 1' }, { value: '2', label: 'Option 2' }, ];

function handleExtraClick() { console.log('Extra clicked'); }

function dropdownRender(menu) { return (

{menu}
Extra content
); }

function App() { return (