P25:后台管理系统开发04-后台首页UI框架搭建
AI 概述
登录页面的 UI 制作完成了,当登录成功后,我们会跳转到博客的后台管理页面,这个页面依然是用Ant Desgin制作的。这里直接用官方提供的案例来作。
Layout 布局
antd提供了协助进行页面级整体布局组件<Layout>。在这个组件的 API 文档里提供了很多已经写好的案例,既然已经写好了,就直接复制就可以了。
API 地址:...
登录页面的 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就可以通过浏览器进行预览,有不合适的地方可以自行微调一下。

以上关于P25:后台管理系统开发04-后台首页UI框架搭建的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » P25:后台管理系统开发04-后台首页UI框架搭建
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » P25:后台管理系统开发04-后台首页UI框架搭建
微信
支付宝