Modifying the Sidebar
The structure of the AsideMenu React component is as follows:
- AsideMenu
- AsideMenuLayer
- AsideMenuList
- AsideMenuItem
- AsideMenuList
- AsideMenuItem
The AsideMenu component is used in the following way:
<AsideMenu
isAsideMobileExpanded={isAsideMobileExpanded}
isAsideLgActive={isAsideLgActive}
menu={menuAside}
onAsideLgClose={() => onAsideLgClose(false)}
/>
The menuAside variable is an object for configuring menu items and sub-items.
isAsideMobileExpanded, isAsideLgActive, onAsideLgClose are variables and functions to control AsideMenu visibility.
Adding Items to the Sidebar Menu
To add a new item to the sidebar, you need an array of objects, as shown below. The href attribute is mandatory for the menu item to function as a link.
const menuAside = [
{
href: '/dashboard',
icon: mdiDashboard,
label: 'Dashboard',
},
{
href: '/users/users-list',
label: 'Users',
icon: mdiAccount,
},
];
This will result in:
Creating Submenus
To add a submenu, create an object without the href attribute. The AsideMenu component will understand that this is a menu with a nested list.
For example, to add a nested list to the "Dashboard" item, add a menu property with the desired items to the "Dashboard" object.
const menuAside = [
{
icon: mdiDashboard,
label: 'Dashboard',
menu: [
{
icon: mdiAccount,
label: 'My Profile',
href: '/profile',
},
{
icon: mdiLogout,
label: 'Log Out',
isLogout: false,
},
],
},
{
href: '/users/users-list',
label: 'Users',
icon: mdiAccount,
},
];
This will result in:
Summary
To add a new menu item to the sidebar:
- Add a new object to the
menuAsidearray. - Ensure the object has a
hrefattribute to function as a link.
To add a submenu:
- Add an object without a
hrefattribute to themenuAsidearray. - Add a
menuproperty to this object, which contains an array of submenu items.
By following these steps, you can effectively manage and expand the sidebar navigation in your React application.
If you face any difficulties, please message us on our Discord, Forum, Twitter, or Facebook. We will respond to your inquiry as quickly as possible!