# Sidenav
# Basic sidenav
Create a sidenav using the <ax-sidenav> tag.
To open it, add a v-model and toggle it using an event as @click on the element you want.
Use <ax-sidenav-link> component to create links in the sidenav.
Template
<ax-btn class="primary rounded-1" @click="isSidenavOpened = !isSidenavOpened">Trigger sidenav</ax-btn>
<ax-sidenav v-model="isSidenavOpened" class="white shadow-1">
<ax-sidenav-link>Link 1</ax-sidenav-link>
<ax-sidenav-link>Link 2</ax-sidenav-link>
<ax-sidenav-link>Link 3</ax-sidenav-link>
</ax-sidenav>
Script
export default {
data() {
return {
isSidenavOpened: false,
};
},
};
# Sidenav router-links
To use vue-router links, just use the tag prop of the <ax-sidenav-link> component.
If you want to get an active sidenav link, just use the active prop.
<ax-btn class="primary rounded-1" @click="isSidenavOpened = !isSidenavOpened">Trigger sidenav</ax-btn>
<ax-sidenav v-model="isSidenavOpened" class="white shadow-1">
<ax-sidenav-link tag="router-link" :active="true" to="/">Router-link 1</ax-sidenav-link>
<ax-sidenav-link tag="router-link" to="/">Router-link 2</ax-sidenav-link>
<ax-sidenav-link tag="router-link" to="/">Router-link 3</ax-sidenav-link>
</ax-sidenav>
# Sidenav slots
Use the named slots of the <ax-sidenav> to append placed content into it.
To use Vue named slots, use the <template #{slotName}> tag with the slot name.
Template
<ax-sidenav v-model="isSidenavOpened2" class="white shadow-1">
<ax-sidenav-header>Sidenav header</ax-sidenav-header>
<ax-sidenav-link>Link 1</ax-sidenav-link>
<ax-sidenav-link>Link 2</ax-sidenav-link>
<ax-sidenav-link>Link 3</ax-sidenav-link>
<ax-sidenav-footer>Sidenav footer</ax-sidenav-footer>
</ax-sidenav>
Script
export default {
data() {
return {
isSidenavOpened2: false,
};
},
};
Options
| Sub Component | Description |
|---|---|
<ax-sidenav-header> | Contains the sidenav-header HTML |
<ax-sidenav-footer> | Contains the sidenav-footer HTML |
# Sidenav collapsibles
Create collapsibles in the sidenav to wrap sidenav-link by group.
Trigger it with another sidenav-link and a @click event for example.
Template
<ax-btn class="primary rounded-1" @click="isSidenavOpened3 = !isSidenavOpened3">Trigger sidenav</ax-btn>
<ax-sidenav v-model="isSidenavOpened3" class="white shadow-1">
<ax-sidenav-header>Sidenav header</ax-sidenav-header>
<ax-sidenav-link :active="isCollapsibleOpened" @click="isCollapsibleOpened = !isCollapsibleOpened">
Click me !
</ax-sidenav-link>
<ax-collapsible v-model="isCollapsibleOpened">
<ax-sidenav-link>Link 1</ax-sidenav-link>
<ax-sidenav-link>Link 2</ax-sidenav-link>
</ax-collapsible>
</ax-sidenav>
Script
export default {
data() {
return {
isSidenavOpened3: false,
isCollapsibleOpened: false,
};
},
};
# Options
| Option | Default value | Description |
|---|---|---|
| overlay | true | Enable the sidenav overlay |
| bodyScrolling | false | Enable the body scrolling while sidenav is opened |
| animationDuration | 300 | Set the animation duration of the sidenav |
| fixed | false | Fix the sidenav on the screen side for any screen size |
| rightAligned | false | Sets the sidenav side to the right of the screen |
# Events
| Option | Description |
|---|---|
| @setup | Event triggered once the sidenav has been setup |
| @open | Event triggered once the sidenav starts to open |
| @opened | Event triggered once the sidenav has been opened |
| @close | Event triggered once the sidenav starts to close |
| @closed | Event triggered once the sidenav has been closed |
← Pagination Tabs →