Antd Menu组件应该如何结合react-router Link组件?
如题,在通过create-react-app脚手架搭建项目,antd作为UI部分的实现。
通过侧边栏导航Menu的Menu.Item控制Content部分的变化。
import React, {Component} from 'react';
import {
BrowserRouter as Router,
Route,
Link
} from 'react-router-dom'
import FileSystem from './file_system/file_system';
import OverView from '../component/Overview/OverView';
import {Breadcrumb, Layout, Menu, Icon} from 'antd';
const {Content, Header, Footer, Sider} = Layout;
class AntdGrid extends Component {
state = {
collapsed: false,
};
toggle = () => {
this.setState({
collapsed: !this.state.collapsed,
});
}
onCollapse = (collapsed) => {
console.log(collapsed);
this.setState({collapsed});
}
render() {
return (
<Layout className="antd-wrap">
<Sider
style={{background: '#fff'}}
breakpoint="lg"
width={200}
collapsible
collapsed={this.state.collapsed}
onCollapse={this.onCollapse}
collapsedWidth={64}
trigger={null}
>
<div className="logo"/>
<Menu theme="light" defaultSelectedKeys={['1']} mode="inline">
<Menu.Item key="1" as={Link} to='/'>
<Icon type="pie-chart"/>
<span>概览</span>
</Menu.Item>
<Menu.Item key="2" as={Link} to="/filesystem">
<Icon type="desktop"/>
<span>文件系统</span>
</Menu.Item>
</Menu>
</Sider>
<Layout>
<Header style={{background: '#fff', padding: 0}}>
<Icon
className="trigger"
type={this.state.collapsed ? 'menu-unfold' : 'menu-fold'}
onClick={this.toggle}
/>
</Header>
<Content style={{margin: '0 16px'}}>
<Breadcrumb style={{margin: '12px 0'}}>
<Breadcrumb.Item>概览</Breadcrumb.Item>
<Breadcrumb.Item> </Breadcrumb.Item>
</Breadcrumb>
<div style={{background: '#fff', minHeight: 360, overflow: 'hidden'}}>
<Router>
<Route path="/" component={OverView}/>
<Route path="/filesystem" component={FileSystem}/>
</Router>
</div>
</Content>
<Footer style={{textAlign: 'center'}}>
</Footer>
</Layout>
</Layout>
);
}
}
export default AntdGrid
查阅了Menu组件应该如何结合react-router Link组件?
没有想通问题所在。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我写的操作说明:http://www.cnblogs.com/cag205...