|
|
|
---
|
|
|
|
order: 3
|
|
|
|
title:
|
|
|
|
zh-CN: 侧边布局
|
|
|
|
en-US: Sider
|
|
|
|
---
|
|
|
|
|
|
|
|
## zh-CN
|
|
|
|
|
|
|
|
多用在两列式布局。
|
|
|
|
|
|
|
|
## en-US
|
|
|
|
|
|
|
|
Be used in the two-columns layout.
|
|
|
|
|
|
|
|
````jsx
|
|
|
|
import { Layout, Menu, Breadcrumb, Icon } from 'antd';
|
|
|
|
const { Header, Content, Footer, Sider } = Layout;
|
|
|
|
const SubMenu = Menu.SubMenu;
|
|
|
|
|
|
|
|
class SiderDemo extends React.Component {
|
|
|
|
state = {
|
|
|
|
collapsed: false,
|
|
|
|
mode: 'inline',
|
|
|
|
};
|
|
|
|
onCollapse = (collapsed) => {
|
|
|
|
console.log(collapsed);
|
|
|
|
this.setState({
|
|
|
|
collapsed,
|
|
|
|
mode: collapsed ? 'vertical' : 'inline',
|
|
|
|
});
|
|
|
|
}
|
|
|
|
render() {
|
|
|
|
return (
|
|
|
|
<Layout>
|
|
|
|
<Sider
|
|
|
|
collapsible
|
|
|
|
collapsed={this.state.collapsed}
|
|
|
|
onCollapse={this.onCollapse}
|
|
|
|
>
|
|
|
|
<div className="logo" />
|
|
|
|
<Menu theme="dark" mode={this.state.mode} defaultSelectedKeys={['6']}>
|
|
|
|
<SubMenu
|
|
|
|
key="sub1"
|
|
|
|
title={<span><Icon type="user" /><span className="nav-text">User</span></span>}
|
|
|
|
>
|
|
|
|
<Menu.Item key="1">Tom</Menu.Item>
|
|
|
|
<Menu.Item key="2">Bill</Menu.Item>
|
|
|
|
<Menu.Item key="3">Alex</Menu.Item>
|
|
|
|
</SubMenu>
|
|
|
|
<SubMenu
|
|
|
|
key="sub2"
|
|
|
|
title={<span><Icon type="team" /><span className="nav-text">Team</span></span>}
|
|
|
|
>
|
|
|
|
<Menu.Item key="4">Team 1</Menu.Item>
|
|
|
|
<Menu.Item key="5">Team 2</Menu.Item>
|
|
|
|
</SubMenu>
|
|
|
|
<Menu.Item key="6">
|
|
|
|
<span>
|
|
|
|
<Icon type="file" />
|
|
|
|
<span className="nav-text">File</span>
|
|
|
|
</span>
|
|
|
|
</Menu.Item>
|
|
|
|
</Menu>
|
|
|
|
</Sider>
|
|
|
|
<Layout>
|
|
|
|
<Header style={{ background: '#fff', padding: 0 }} />
|
|
|
|
<Content style={{ margin: '0 16px' }}>
|
|
|
|
<Breadcrumb style={{ margin: '12px 0' }}>
|
|
|
|
<Breadcrumb.Item>User</Breadcrumb.Item>
|
|
|
|
<Breadcrumb.Item>Bill</Breadcrumb.Item>
|
|
|
|
</Breadcrumb>
|
|
|
|
<div style={{ padding: 24, background: '#fff', minHeight: 360 }}>
|
|
|
|
Bill is a cat.
|
|
|
|
</div>
|
|
|
|
</Content>
|
|
|
|
<Footer style={{ textAlign: 'center' }}>
|
|
|
|
Ant Design ©2016 Created by Ant UED
|
|
|
|
</Footer>
|
|
|
|
</Layout>
|
|
|
|
</Layout>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
ReactDOM.render(<SiderDemo />, mountNode);
|
|
|
|
````
|
|
|
|
|
|
|
|
````css
|
|
|
|
#components-layout-demo-side .logo {
|
|
|
|
height: 32px;
|
|
|
|
background: #333;
|
|
|
|
border-radius: 6px;
|
|
|
|
margin: 16px;
|
|
|
|
}
|
|
|
|
|
|
|
|
#components-layout-demo-side .ant-layout-sider-collapsed .anticon {
|
|
|
|
font-size: 16px;
|
|
|
|
margin-left: 8px;
|
|
|
|
}
|
|
|
|
|
|
|
|
#components-layout-demo-side .ant-layout-sider-collapsed .nav-text {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
#components-layout-demo-side .ant-layout-sider-collapsed .ant-menu-submenu-vertical > .ant-menu-submenu-title:after {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
````
|