Menu List
MenuList Props
MenuList component doesn't have specific props, but as it extends List component, it supports all List props
MenuListItem Props
MenuListItem component extends ListItem component, it supports all ListItem props, ListItem slots and the following additional props:
Name
Type
Default
Description
active
boolean
false
Makes menu list item highlighted (active)
href
string | boolean
Menu list item link's href attribute
subtitle
string
Content of the menu list item "subtitle" area
Examples
<template>
<i-page>
<i-navbar title="Menu List" />
<i-block strong>
<p>
Menu list unlike usual links list is designed to indicate currently
active screen (or section) of your app. Think about it like a Tabbar but
in a form of a list.
</p>
</i-block>
<i-menu-list>
<i-menu-list-item
title="Home"
:active="selected === 'home'"
@click="() => (selected = 'home')"
>
<template #media>
<demo-icon />
</template>
</i-menu-list-item>
<i-menu-list-item
title="Profile"
:active="selected === 'profile'"
@click="() => (selected = 'profile')"
>
<template #media>
<demo-icon />
</template>
</i-menu-list-item>
<i-menu-list-item
title="Settings"
:active="selected === 'settings'"
@click="() => (selected = 'settings')"
>
<template #media>
<demo-icon />
</template>
</i-menu-list-item>
</i-menu-list>
<i-menu-list>
<i-menu-list-item
title="Home"
subtitle="Home subtitle"
:active="selectedMedia === 'home'"
@click="() => (selectedMedia = 'home')"
>
<template #media>
<demo-icon />
</template>
</i-menu-list-item>
<i-menu-list-item
title="Profile"
subtitle="Profile subtitle"
:active="selectedMedia === 'profile'"
@click="() => (selectedMedia = 'profile')"
>
<template #media>
<demo-icon />
</template>
</i-menu-list-item>
<i-menu-list-item
title="Settings"
subtitle="Settings subtitle"
:active="selectedMedia === 'settings'"
@click="() => (selectedMedia = 'settings')"
>
<template #media>
<demo-icon />
</template>
</i-menu-list-item>
</i-menu-list>
</i-page>
</template>
<script>
import { ref } from 'vue';
import {
iPage,
iNavbar,
iNavbarBackLink,
iBlock,
iMenuList,
iMenuListItem,
} from 'ina-ui/vue';
import DemoIcon from '../components/DemoIcon.vue';
export default {
components: {
iPage,
iNavbar,
iNavbarBackLink,
iBlock,
iMenuList,
iMenuListItem,
DemoIcon,
},
setup() {
const selected = ref('home');
const selectedMedia = ref('home');
return {
selected,
selectedMedia,
};
},
};
</script>Last updated
