P25:后台管理系统开发04-后台首页UI框架搭建
登录页面的UI制作完成了,当登录成功后,我们会跳转到博客的后台管理页面,这个页面依然是用Ant Desgin
制作的。这里直接用官方提供的案例来作。
Layout布局
antd
提供了协助进行页面级整体布局组件<Layout>
。在这个组件的API文档里提供了很多已经写好的案例,既然已经写好了,就直接复制就可以了。
API地址:点击这里
我这里选左右布局的页面,你也可以自己灵活选择自己喜欢的,复制代码。
import { Layout, Menu, Breadcrumb } from 'antd'; import { DesktopOutlined, PieChartOutlined, FileOutlined, TeamOutlined, UserOutlined, } from '@ant-design/icons'; const { Header, Content, Footer, Sider } = Layout; const { SubMenu } = Menu; class SiderDemo extends React.Component { state = { collapsed: false, }; onCollapse = collapsed => { console.log(collapsed); this.setState({ collapsed }); }; render() { const { collapsed } = this.state; return ( <Layout style={{ minHeight: '100vh' }}> <Sider collapsible collapsed={collapsed} onCollapse={this.onCollapse}> <div className="logo" /> <Menu theme="dark" defaultSelectedKeys={['1']} mode="inline"> <Menu.Item key="1" icon={<PieChartOutlined />}> Option 1 </Menu.Item> <Menu.Item key="2" icon={<DesktopOutlined />}> Option 2 </Menu.Item> <SubMenu key="sub1" icon={<UserOutlined />} title="User"> <Menu.Item key="3">Tom</Menu.Item> <Menu.Item key="4">Bill</Menu.Item> <Menu.Item key="5">Alex</Menu.Item> </SubMenu> <SubMenu key="sub2" icon={<TeamOutlined />} title="Team"> <Menu.Item key="6">Team 1</Menu.Item> <Menu.Item key="8">Team 2</Menu.Item> </SubMenu> <Menu.Item key="9" icon={<FileOutlined />}> Files </Menu.Item> </Menu> </Sider> <Layout className="site-layout"> <Header className="site-layout-background" style={{ padding: 0 }} /> <Content style={{ margin: '0 16px' }}> <Breadcrumb style={{ margin: '16px 0' }}> <Breadcrumb.Item>User</Breadcrumb.Item> <Breadcrumb.Item>Bill</Breadcrumb.Item> </Breadcrumb> <div className="site-layout-background" style={{ padding: 24, minHeight: 360 }}> Bill is a cat. </div> </Content> <Footer style={{ textAlign: 'center' }}>Ant Design ©2018 Created by Ant UED</Footer> </Layout> </Layout> ); } } ReactDOM.render(<SiderDemo />, mountNode);
这步完成后,还需要在/src/static/css
文件夹下建立一个AdminIndex.css
文件,复制下面的代码。
.logo { height: 32px; margin: 16px; background: rgba(255, 255, 255, 0.3); } .site-layout .site-layout-background { background: #fff; }
然后引入到AdminIndex.js
中,
import '../static/css/AdminIndex.css';
把Class形式改为Hooks形式
我们复制的代码是Class
形式的,现在需要改成React Hooks
形式的,也就是function组件。这里给出全部修改后的代码。
import React, { useState } from 'react'; import { Layout, Menu, Breadcrumb } from 'antd'; import '../static/css/AdminIndex.css'; import { DesktopOutlined, PieChartOutlined, FileOutlined, UserOutlined, } from '@ant-design/icons'; const { Header, Content, Footer, Sider } = Layout; const { SubMenu } = Menu; function AdminIndex() { const [collapsed, setCollapsed] = useState(false) const onCollapse = collapsed => { setCollapsed(collapsed); }; return ( <Layout style={{ minHeight: '100vh' }}> <Sider collapsible collapsed={collapsed} onCollapse={onCollapse}> <div className="logo" /> <Menu theme="dark" defaultSelectedKeys={['1']} mode="inline"> <Menu.Item key="1" icon={<PieChartOutlined />}> 工作台 </Menu.Item> <Menu.Item key="2" icon={<DesktopOutlined />}> 添加文章 </Menu.Item> <SubMenu key="sub1" icon={<UserOutlined />} title="文章管理"> <Menu.Item key="3">添加文章</Menu.Item> <Menu.Item key="4">文章列表</Menu.Item> </SubMenu> <Menu.Item key="9" icon={<FileOutlined />}> 留言管理 </Menu.Item> </Menu> </Sider> <Layout className="site-layout"> <Header className="site-layout-background" style={{ padding: 0 }} /> <Content style={{ margin: '0 16px' }}> <Breadcrumb style={{ margin: '16px 0' }}> <Breadcrumb.Item>后台管理系统</Breadcrumb.Item> <Breadcrumb.Item>工作台</Breadcrumb.Item> </Breadcrumb> <div className="site-layout-background" style={{ padding: 24, minHeight: 360 }}> 码云笔记的博客管理系统. </div> </Content> <Footer style={{ textAlign: 'center' }}>mybj123.com ©2020 Created by 码云笔记</Footer> </Layout> </Layout> ); } export default AdminIndex
这步完成后,你还要去Main.js
里去配置一下路由,然后就可以访问到这个页面了。
import React from 'react'; import {BrowserRouter as Router, Route} from 'react-router-dom'; import Login from '../pages/Login'; import Adminindex from './AdminIndex'; function Main() { return ( <Router> <Route path="/login/" exact component={Login} /> <Route path="/index/" exact component={Adminindex} /> </Router> ) } export default Main
路由配置完成后就可以,输入http://localhost:3000/index
就可以通过浏览器进行预览,有不合适的地方可以自行微调一下。
声明:
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » P25:后台管理系统开发04-后台首页UI框架搭建
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » P25:后台管理系统开发04-后台首页UI框架搭建