如何设置Antd SubMenu仅在点击时展开而非鼠标悬停?
当前使用Antd的SubMenu时,默认鼠标悬停就会展开子菜单,需要修改为仅点击「Navigation Three」或「Navigation Four」才展开子菜单。
解决方法
Antd的Menu组件提供了triggerSubMenuAction属性,将其设置为'click'即可改变子菜单的触发方式(默认值为'hover')。只需在<Menu>标签中添加该属性即可实现需求。
修改后的完整代码
import React from "react"; import ReactDOM from "react-dom"; import "antd/dist/antd.css"; import { Menu, Icon } from "antd"; const { SubMenu } = Menu; class Sider extends React.Component { state = { mode: "vertical", theme: "light" }; render() { return ( <div> <br /> <br /> <Menu style={{ width: 256 }} mode={this.state.mode} theme={this.state.theme} triggerSubMenuAction="click" // 添加该属性修改触发方式 > <SubMenu key="sub1" title={ <span> <Icon type="appstore" /> <span>Navigation Three</span> </span> } > <Menu.Item key="3">Option 3</Menu.Item> <Menu.Item key="4">Option 4</Menu.Item> <SubMenu key="sub1-2" title="Submenu"> <Menu.Item key="5">Option 5</Menu.Item> <Menu.Item key="6">Option 6</Menu.Item> </SubMenu> </SubMenu> <SubMenu key="sub2" title={ <span> <Icon type="setting" /> <span>Navigation Four</span> </span> } > <Menu.Item key="7">Option 7</Menu.Item> <Menu.Item key="8">Option 8</Menu.Item> <Menu.Item key="9">Option 9</Menu.Item> <Menu.Item key="10">Option 10</Menu.Item> </SubMenu> </Menu> </div> ); } } ReactDOM.render(<Sider />, document.getElementById("container"));
内容的提问来源于stack exchange,提问作者PremKumar
相关产品推荐
相关产品推荐

