ant-design/components/menu/demo/sider-current.md

65 lines
1.9 KiB
Markdown
Raw Normal View History

2015-09-16 12:18:04 +08:00
# 只展开当前父级菜单
- order: 2
点击菜单,收起其他展开的所有菜单,保持菜单聚焦简洁。
---
````jsx
import { Menu, Icon } from 'antd';
const SubMenu = Menu.SubMenu;
2015-09-16 12:18:04 +08:00
const Sider = React.createClass({
2015-09-16 12:18:04 +08:00
getInitialState() {
return {
current: '1',
openKeys: []
};
2015-09-16 12:18:04 +08:00
},
handleClick(e) {
console.log('click ', e);
this.setState({
current: e.key,
openKeys: e.keyPath.slice(1)
});
},
onToggle(info){
this.setState({
2015-12-26 17:23:41 +08:00
openKeys: info.open ? info.keyPath : info.keyPath.slice(1)
2015-09-16 12:18:04 +08:00
});
},
render() {
return <Menu onClick={this.handleClick}
style={{width:240}}
openKeys={this.state.openKeys}
onOpen={this.onToggle}
onClose={this.onToggle}
selectedKeys={[this.state.current]}
mode="inline">
2015-10-02 15:26:18 +08:00
<SubMenu key="sub1" title={<span><Icon type="mail" /><span>导航一</span></span>}>
2015-09-16 12:18:04 +08:00
<Menu.Item key="1">选项1</Menu.Item>
<Menu.Item key="2">选项2</Menu.Item>
<Menu.Item key="3">选项3</Menu.Item>
<Menu.Item key="4">选项4</Menu.Item>
</SubMenu>
2015-10-02 15:26:18 +08:00
<SubMenu key="sub2" title={<span><Icon type="appstore" /><span>导航二</span></span>}>
2015-09-16 12:18:04 +08:00
<Menu.Item key="5">选项5</Menu.Item>
<Menu.Item key="6">选项6</Menu.Item>
<SubMenu key="sub3" title="三级导航">
<Menu.Item key="7">选项7</Menu.Item>
<Menu.Item key="8">选项8</Menu.Item>
</SubMenu>
</SubMenu>
2015-10-02 15:26:18 +08:00
<SubMenu key="sub4" title={<span><Icon type="setting" /><span>导航三</span></span>}>
2015-09-16 12:18:04 +08:00
<Menu.Item key="9">选项9</Menu.Item>
<Menu.Item key="10">选项10</Menu.Item>
<Menu.Item key="11">选项11</Menu.Item>
<Menu.Item key="12">选项12</Menu.Item>
</SubMenu>
</Menu>;
}
});
2015-10-20 16:47:55 +08:00
ReactDOM.render(<Sider />, document.getElementById('components-menu-demo-sider-current'));
2015-09-16 12:18:04 +08:00
````