11import React from 'react' ;
2- import { Layout , Menu , Icon , Avatar , Dropdown , Spin } from 'antd' ;
2+ import { Icon as LegacyIcon } from '@ant-design/compatible' ;
3+ import {
4+ LockOutlined ,
5+ LogoutOutlined ,
6+ UserOutlined ,
7+ MenuFoldOutlined ,
8+ MenuUnfoldOutlined ,
9+ } from '@ant-design/icons' ;
10+ import { Layout , Menu , Avatar , Dropdown , Spin } from 'antd' ;
311import DocumentTitle from 'react-document-title' ;
412import { connect } from 'dva' ;
513// eslint-disable-next-line import/no-extraneous-dependencies
6- import Link from 'umi/link ' ;
14+ import { Link } from 'umi' ;
715import { ContainerQuery } from 'react-container-query' ;
816import classNames from 'classnames' ;
917import Debounce from 'lodash-decorators/debounce' ;
1018import GlobalFooter from '@/components/GlobalFooter' ;
1119import CopyRight from '@/components/CopyRight' ;
1220import UpdatePasswordDialog from '@/components/UpdatePasswordDialog' ;
13- import styles from './AdminLayout.less' ;
14- import logo from '../assets/logo.svg' ;
1521import GetGlobalContext from '@/utils/context' ;
22+ import './AdminLayout.less' ;
23+ import logo from '../assets/logo.svg' ;
1624
1725const { Header, Sider, Content } = Layout ;
1826const { SubMenu } = Menu ;
@@ -75,10 +83,11 @@ class AdminLayout extends React.PureComponent {
7583 dispatch ( action ) ;
7684 } ;
7785
78- onCollapse = collapsed => {
86+ onCollapse = ( ) => {
87+ const { collapsed } = this . props ;
7988 this . dispatch ( {
8089 type : 'global/changeLayoutCollapsed' ,
81- payload : collapsed ,
90+ payload : ! collapsed ,
8291 } ) ;
8392 } ;
8493
@@ -169,7 +178,7 @@ class AdminLayout extends React.PureComponent {
169178 title = {
170179 item . icon ? (
171180 < span >
172- < Icon type = { item . icon } />
181+ < LegacyIcon type = { item . icon } />
173182 < span > { item . name } </ span >
174183 </ span >
175184 ) : (
@@ -184,7 +193,7 @@ class AdminLayout extends React.PureComponent {
184193 }
185194
186195 const { router } = item ;
187- const icon = item . icon && < Icon type = { item . icon } /> ;
196+ const icon = item . icon && < LegacyIcon type = { item . icon } /> ;
188197 const {
189198 location : { pathname } ,
190199 } = this . props ;
@@ -239,21 +248,22 @@ class AdminLayout extends React.PureComponent {
239248 const GlobalContext = GetGlobalContext ( ) ;
240249
241250 const menu = (
242- < Menu className = { styles . menu } selectedKeys = { [ ] } onClick = { this . onMenuClick } >
251+ < Menu className = { classNames ( ' menu' ) } selectedKeys = { [ ] } onClick = { this . onMenuClick } >
243252 < Menu . Item key = "updatepwd" >
244- < Icon type = "lock" />
253+ < LockOutlined />
245254 修改密码
246255 </ Menu . Item >
247256 < Menu . Divider />
248257 < Menu . Item key = "logout" >
249- < Icon type = "logout" />
258+ < LogoutOutlined />
250259 退出登录
251260 </ Menu . Item >
252261 </ Menu >
253262 ) ;
254263
255264 // Don't show popup menu when it is been collapsed
256265 const menuProps = collapsed ? { } : { openKeys } ;
266+ const siderWidth = 256 ;
257267
258268 const layout = (
259269 < Layout >
@@ -263,10 +273,10 @@ class AdminLayout extends React.PureComponent {
263273 collapsed = { collapsed }
264274 breakpoint = "lg"
265275 onCollapse = { this . onCollapse }
266- width = { 256 }
267- className = { styles . sider }
276+ width = { siderWidth }
277+ className = { classNames ( ' sider' ) }
268278 >
269- < div className = { styles . logo } >
279+ < div className = { classNames ( ' logo' ) } >
270280 < Link to = "/" >
271281 < img src = { logo } alt = "logo" />
272282 < h1 > { title } </ h1 >
@@ -284,17 +294,15 @@ class AdminLayout extends React.PureComponent {
284294 </ Menu >
285295 </ Sider >
286296 < Layout >
287- < Header className = { styles . header } >
288- < Icon
289- className = { styles . trigger }
290- type = { collapsed ? 'menu-unfold' : 'menu-fold' }
291- onClick = { this . onToggleClick }
292- />
293- < div className = { styles . right } >
297+ < Header className = { classNames ( 'header' ) } >
298+ < div className = { classNames ( 'foldout' ) } onClick = { ( ) => this . onCollapse ( ) } >
299+ { collapsed ? < MenuUnfoldOutlined /> : < MenuFoldOutlined /> }
300+ </ div >
301+ < div className = { classNames ( 'right' ) } >
294302 { user . user_name ? (
295303 < Dropdown overlay = { menu } >
296- < span className = { ` ${ styles . action } ${ styles . account } ` } >
297- < Avatar size = "small" className = { styles . avatar } icon = "user" />
304+ < span className = { classNames ( [ ' action' , ' account' ] ) } >
305+ < Avatar size = "small" className = { classNames ( ' avatar' ) } icon = { < UserOutlined /> } />
298306 { user . real_name !== ''
299307 ? `${ user . user_name } (${ user . real_name } )`
300308 : user . user_name }
@@ -305,8 +313,8 @@ class AdminLayout extends React.PureComponent {
305313 ) }
306314 </ div >
307315 </ Header >
308- < Content style = { { margin : '24px 24px 0' , height : '100%' } } >
309- < div style = { { minHeight : 'calc(100vh - 260px )' } } >
316+ < Content className = { classNames ( 'content' ) } >
317+ < div style = { { minHeight : 'calc(100vh - 150px )' } } >
310318 < GlobalContext . Provider value = { global } > { children } </ GlobalContext . Provider >
311319 </ div >
312320 < GlobalFooter copyright = { < CopyRight title = { copyRight } /> } />
0 commit comments