update 侧边展开缩起

This commit is contained in:
2021-06-14 10:34:16 +08:00
parent f4cb540034
commit 453ee91b22
2 changed files with 51 additions and 3 deletions

View File

@@ -3,14 +3,41 @@ import { Layout, Badge } from 'antd'
import { AntIcon, Container } from 'components' import { AntIcon, Container } from 'components'
import Logo from '../logo' import Logo from '../logo'
import User from './user' import User from './user'
import store from 'store'
const { getState, subscribe, dispatch } = store
export default class index extends Component { export default class index extends Component {
state = {
...getState('layout')
}
constructor(props) {
super(props)
this.unsubscribe = subscribe('layout', (state) => {
this.setState(state)
})
}
componentWillUnmount() {
this.unsubscribe()
}
onCollapsed() {
dispatch({
type: 'TOGGLE_COLLAPSED',
siderCollapsed: !this.state.siderCollapsed
})
}
render() { render() {
return ( return (
<Layout.Header> <Layout.Header>
<Container mode="fluid"> <Container mode="fluid">
<div className="header-actions"> <div className="header-actions">
<span className="header-action mr-md"> <span className="header-action mr-md" onClick={() => this.onCollapsed()}>
<AntIcon type="menu" /> <AntIcon type="menu" />
</span> </span>
<Logo /> <Logo />

View File

@@ -3,9 +3,12 @@ import { Layout } from 'antd'
import Swiper, { Mousewheel, Scrollbar } from 'swiper' import Swiper, { Mousewheel, Scrollbar } from 'swiper'
import 'swiper/swiper-bundle.css' import 'swiper/swiper-bundle.css'
import Menu from './menu' import Menu from './menu'
import store from 'store'
Swiper.use([Mousewheel, Scrollbar]) Swiper.use([Mousewheel, Scrollbar])
const { getState, subscribe } = store
let timer, let timer,
swiper swiper
@@ -31,7 +34,17 @@ const UpdateSwiper = () => {
export default class index extends Component { export default class index extends Component {
state = {} state = {
...getState('layout')
}
constructor(props) {
super(props)
this.unsubscribe = subscribe('layout', (state) => {
this.setState(state)
})
}
componentDidMount() { componentDidMount() {
swiper = new Swiper('#layout--swiper-container', siderSwiperOptions) swiper = new Swiper('#layout--swiper-container', siderSwiperOptions)
@@ -41,6 +54,10 @@ export default class index extends Component {
}) })
} }
componentWillUnmount() {
this.unsubscribe()
}
updateSwiper() { updateSwiper() {
UpdateSwiper() UpdateSwiper()
} }
@@ -52,7 +69,11 @@ export default class index extends Component {
render() { render() {
return ( return (
<Layout.Sider className="yo-layout-sider" width="200" collapsed={false}> <Layout.Sider
className="yo-layout-sider"
width="200"
collapsed={this.state.siderCollapsed || false}
>
<div className="yo-sider-nav"> <div className="yo-sider-nav">
<div className="swiper-container" id="layout--swiper-container"> <div className="swiper-container" id="layout--swiper-container">
<div className="swiper-wrapper"> <div className="swiper-wrapper">