Topic: Toggle side-nav and show expand (deafault)
Rogelio Sanchez free asked 5 years ago
Hello. I want to make the menu when it have the "slim" property by default appear expanded. Also what function I use to make toggle the slim menu.
Jakub Chmura staff answered 5 years ago
Hi [@Rogelio Sanchez](/profile/?id=56376),
To toggle the slim menu you need to use this function:
sidenavToggle = sidenavId => () => {
const sidenavNr = `sideNav${sidenavId}`;
this.setState({
[sidenavNr]: !this.state[sidenavNr]
});
};
Your slimSideNav is open by default because of the default state. You need to manage the opening sidenavs by state.
I prepare for you a little snippet that works well.
import React, { Component } from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import {
MDBSideNavCat,
MDBSideNavNav,
MDBSideNav,
MDBSideNavLink,
MDBContainer,
MDBIcon,
MDBBtn
} from 'mdbreact';
class SideNavPage extends Component {
state = {
sideNavLeft: false
};
sidenavToggle = sidenavId => () => {
const sidenavNr = `sideNav${sidenavId}`;
this.setState({
[sidenavNr]: !this.state[sidenavNr]
});
};
render() {
return (
<Router>
<MDBContainer>
<MDBBtn onClick={this.sidenavToggle('Left')}>
<MDBIcon size='lg' icon='bars' />
</MDBBtn>
<MDBSideNav
slim
mask='rgba-blue-strong'
triggerOpening={this.state.sideNavLeft}
breakWidth={1300}
className='sn-bg-1'
>
<li>
<div className='logo-wrapper sn-ad-avatar-wrapper'>
<a href='#!'>
<img
alt=''
src='https://mdbootstrap.com/img/Photos/Avatars/img%20(10).jpg'
className='rounded-circle'
/>
<span>Anna Deynah</span>
</a>
</div>
</li>
<MDBSideNavNav>
<MDBSideNavLink to='/other-page' topLevel>
<MDBIcon icon='pencil-alt' className='mr-2' />
Submit listing
</MDBSideNavLink>
<MDBSideNavCat
name='Submit blog'
id='submit-blog'
icon='chevron-right'
>
<MDBSideNavLink>Submit listing</MDBSideNavLink>
<MDBSideNavLink>Registration form</MDBSideNavLink>
</MDBSideNavCat>
<MDBSideNavCat
name='Instruction'
id='instruction'
icon='hand-pointer'
href='#'
>
<MDBSideNavLink>For bloggers</MDBSideNavLink>
<MDBSideNavLink>For authors</MDBSideNavLink>
</MDBSideNavCat>
<MDBSideNavCat name='About' id='about' icon='eye'>
<MDBSideNavLink>Instruction</MDBSideNavLink>
<MDBSideNavLink>Monthly meetings</MDBSideNavLink>
</MDBSideNavCat>
<MDBSideNavCat name='Contact me' id='contact-me' icon='envelope'>
<MDBSideNavLink>FAQ</MDBSideNavLink>
<MDBSideNavLink>Write a message</MDBSideNavLink>
</MDBSideNavCat>
</MDBSideNavNav>
</MDBSideNav>
</MDBContainer>
</Router>
);
}
}
export default SideNavPage;
Best regards,
Kuba
FREE CONSULTATION
Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.
Resolved
- ForumUser: Free
- Premium support: No
- Technology: MDB React
- MDB Version: 4.22.0
- Device: MacBook Pro (13-inch, Mid 2012)
- Browser: Google Chrome
- OS: macOS Catalina
- Provided sample code: No
- Provided link: No