diff --git a/src/components/Layout/Header.jsx b/src/components/Layout/Header.jsx index 0d894c8..4ac6468 100644 --- a/src/components/Layout/Header.jsx +++ b/src/components/Layout/Header.jsx @@ -5,12 +5,12 @@ import styles from './main.less' const SubMenu = Menu.SubMenu -function Header({ location, user, logout, switchSider }) { +function Header({ user, logout, switchSider, siderFold }) { let handleClickMenu = e => e.key === 'logout' && logout() return (
- +
@@ -41,13 +41,12 @@ function Sider({ siderFold,darkTheme }) { defaultSelectedKeys={['dashboard']}> {getMenus(menu,siderFold)}
+ {!siderFold?
+ 切换主题 + +
:''}
) } -Sider.propTypes = { - siderFold: PropTypes.bool, - darkTheme: PropTypes.bool -} - export default Sider diff --git a/src/models/app.js b/src/models/app.js index d6e1ce6..1630242 100644 --- a/src/models/app.js +++ b/src/models/app.js @@ -69,7 +69,14 @@ export default { yield put({ type: 'switchSider' }) - } + }, + *changeTheme({ + payload + }, {put}) { + yield put({ + type: 'changeTheme' + }) + }, }, reducers : { loginSuccess(state, action) { @@ -116,6 +123,12 @@ export default { ...state, siderFold: !state.siderFold } - } + }, + changeTheme(state) { + return { + ...state, + darkTheme: !state.darkTheme + } + }, } } diff --git a/src/routes/app.js b/src/routes/app.js index 654e839..dd79697 100644 --- a/src/routes/app.js +++ b/src/routes/app.js @@ -23,6 +23,7 @@ function App({children, location, dispatch, app}) { const headerProps = { user, location, + siderFold, logout() { dispatch({type: 'app/logout'}) }, @@ -34,6 +35,9 @@ function App({children, location, dispatch, app}) { const siderProps = { siderFold, darkTheme, + changeTheme(){ + dispatch({type: 'app/changeTheme'}) + } } return (