VList API
name | type | default |
|---|---|---|
boolean
| false | |
Designates whether the list items are activatable. Additionally, sets necessary accessibility attributes internally. | ||
unknown
| undefined | |
Array of ids of activated nodes. | ||
string
| undefined | |
The class applied to the component when it is in an active state. | ||
string
| undefined | |
Deprecated, use | ||
| 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | ActiveStrategy | ((mandatory: boolean) => ActiveStrategy) | undefined | |
Affects how items with children behave when activated. If not specified, the single-independent strategy will be used.
| ||
string
| undefined | |
Sets the color of component when not focused. | ||
string
| undefined | |
Applies specified color to the control’s background. Used on components that also support the color prop. - supports utility colors with or without | ||
string | number | boolean | false | |
Applies utility border classes to the component. To use it, you need to omit the | ||
| string | (new () => any) | FunctionalComponent | (string | [string, number])[] | undefined | |
Icon to display when the list item is expanded. | ||
string
| undefined | |
Applies specified color to the control - supports utility colors with or without | ||
'default' | 'comfortable' | 'compact' | 'default' | |
Adjusts the vertical height used by the component. | ||
boolean
| false | |
Puts all children inputs into a disabled state. | ||
string | number | undefined | |
Designates an elevation applied to the component between 0 and 5. You can find more information on the elevation page. | ||
| string | (new () => any) | FunctionalComponent | (string | [string, number])[] | undefined | |
Icon to display when the list item is collapsed. | ||
boolean
| false | |
FOR INTERNAL USE ONLY Prevents list item selection using [space] key and pass it back to the text input. Used internally for VAutocomplete and VCombobox. | ||
string | number | undefined | |
Sets the height for the component. | ||
string | number | undefined | |
Overrides the indent size for nested groups. | ||
SelectItemKey | 'children' | |
Property on supplied | ||
SelectItemKey | 'props' | |
Props object that will be applied to each item component. | ||
any[] | [] | |
Can be an array of objects or strings. By default objects should have a title property, and can optionally have a props property containing any VListItem props, a value property to allow selection, and a children property containing more item objects. Keys to use for these can be changed with the item-title, item-value, item-props, and item-children props. | ||
'props' | 'render' | 'render' | |
When set to ‘props’, skips rendering collapsed items/nodes (for significant performance gains). | ||
SelectItemKey | 'title' | |
Property on supplied | ||
SelectItemKey | 'type' | |
Designates the key on the supplied items that is used for determining the nodes type. | ||
SelectItemKey | 'value' | |
Property on supplied | ||
false | 'one' | 'two' | 'three' | 'one' | |
Designates a minimum-height for all children | ||
boolean
| false | |
Forces at least one item to always be selected (if available). | ||
string | number | undefined | |
Sets the maximum height for the component. | ||
string | number | undefined | |
Sets the maximum width for the component. | ||
string | number | undefined | |
Sets the minimum height for the component. | ||
string | number | undefined | |
Sets the minimum width for the component. | ||
boolean
| false | |
An alternative styling that reduces | ||
number
| undefined | |
Specifies the currently selected navigation index when using | ||
'focus' | 'track' | 'focus' | |
Determines keyboard navigation behavior. focus (default) moves DOM focus to items, suitable for traditional lists. track provides visual keyboard focus without moving DOM focus, ideal for command palettes and autocomplete where an external element retains focus. When track mode is active, items automatically receive | ||
unknown
| undefined | |
An array containing the values of currently opened groups. Can be two-way bound with | ||
'list' | 'multiple' | 'single' | OpenStrategy | 'list' | |
Affects how items with children behave when expanded.
| ||
string | number | undefined | |
Sets the horizontal spacing between prepend slot and the main content within list item. Also affects indent to ensure expected alignment of group children. | ||
boolean
| false | |
Changes the selection behavior to return the object directly rather than the value specified with item-value. | ||
string | number | boolean | undefined | |
Designates the border-radius applied to the component. This can be 0, xs, sm, true, lg, xl, pill, circle, and shaped. Find more information on available border radius classes on the Border Radius page. | ||
boolean
| false | |
Designates whether the list items are selectable. Additionally, sets necessary accessibility attributes internally. | ||
unknown
| undefined | |
An array containing the values of currently selected items. Can be two-way bound with | ||
| 'single-leaf' | 'leaf' | 'independent' | 'single-independent' | 'classic' | 'trunk' | 'branch' | SelectStrategy | ((mandatory: boolean) => SelectStrategy) | 'single-leaf' | |
Affects how items with children behave when selected.
| ||
boolean
| false | |
Reduces horizontal spacing for badges, icons, tooltips, and avatars within slim list items to create a more compact visual representation. | ||
string | (new () => any) | FunctionalComponent | 'div' | |
Specify a custom tag used on the root element. | ||
string
| undefined | |
Specify a theme for this component and all of its children. | ||
boolean
| false | |
Removes any applied border-radius from the component. | ||
(a: any, b: any) => boolean | undefined | |
Apply a custom comparison algorithm to compare model-value and values contains in the items prop. | ||
'flat' | 'text' | 'elevated' | 'tonal' | 'outlined' | 'plain' | 'text' | |
Applies a distinct style to the component. | ||
string | number | undefined | |
Sets the width for the component. | ||
name | type | |
|---|---|---|
[{ id: unknown; value: boolean; path: unknown[] }] | ||
Emitted when the list item is activated. | ||
[{ id: unknown; value: boolean; path: unknown[] }] | ||
Emitted when the list item is opened. | ||
[{ id: unknown; value: boolean; path: unknown[] }] | ||
Emitted when the list item is selected. | ||
[unknown] | ||
Emitted when the list item is activated. | ||
[number] | ||
Emitted when keyboard navigation occurs in | ||
[unknown] | ||
Emitted when the list item is opened. | ||
[unknown] | ||
Emitted when the list item is selected. | ||
Adds an item inside the input and after input content. | ||
The default Vue slot. | ||
Slot for rendering custom dividers. Receives | ||
Slot for rendering custom group headers when using nested items. Receives | ||
Slot for rendering custom list items. Receives | ||
Adds an item outside the input and before input content. | ||
Slot for rendering custom subheaders. Receives | ||
Slot for the component’s subtitle content. | ||
Slot for the component’s title content. | ||
The nested list items within the component. | ||
Focus the list item. | ||
Get the position of an item within the nested structure. | ||
A computed ref that returns the current navigation index when using | ||
Open the list item. | ||
The parent list items within the component. | ||
The function used to select an items. The first argument expects the value of the item. | ||
name | default |
|---|---|
rgba(var(--v-theme-surface)) | |
( $list-border-color, $list-border-style, $list-border-width, $list-border-thin-width ) | |
settings.$border-color-root | |
0 | |
settings.$border-style-root | |
thin | |
0 | |
tools.theme-color('on-surface', var(--v-high-emphasis-opacity)) | |
('default': 0, 'comfortable': -1, 'compact': -2) | |
0.6 | |
0 | |
16px | |
8px | |
8px | |
16px | |
16px | |
16px | |
( $list-item-border-color, $list-item-border-style, $list-item-border-width, $list-item-border-thin-width ) | |
settings.$border-color-root | |
0 | |
settings.$border-style-root | |
thin | |
0 | |
40px | |
1 | |
1 | |
32px | |
32px | |
var(--v-medium-emphasis-opacity) | |
0 | |
16px | |
16px | |
0 | |
0 | |
0 | |
-4px | |
-4px | |
40px | |
4px | |
.75rem | |
tools.map-deep-get(settings.$typography, 'body-medium', 'weight') | |
tools.map-deep-get(settings.$typography, 'body-medium', 'letter-spacing') | |
1rem | |
( $list-item-nav-subtitle-font-size, $list-item-nav-subtitle-font-weight, $list-item-nav-subtitle-letter-spacing, $list-item-nav-subtitle-line-height, null ) | |
.8125rem | |
500 | |
normal | |
1rem | |
( $list-item-nav-title-font-size, $list-item-nav-title-font-weight, $list-item-nav-title-letter-spacing, $list-item-nav-title-line-height, null ) | |
48px | |
4px 16px | |
.62 | |
40px | |
map.get(settings.$rounded, null) | |
4px | |
4px | |
28px | |
20px | |
tools.map-deep-get(settings.$typography, 'body-medium', 'size') | |
tools.map-deep-get(settings.$typography, 'body-medium', 'weight') | |
tools.map-deep-get(settings.$typography, 'body-medium', 'letter-spacing') | |
1rem | |
var(--v-list-item-subtitle-opacity, var(--v-medium-emphasis-opacity)) | |
break-word | |
0 | |
none | |
( $list-item-subtitle-font-size, $list-item-subtitle-font-weight, $list-item-subtitle-letter-spacing, $list-item-subtitle-line-height, $list-item-subtitle-text-transform ) | |
initial | |
88px | |
16px 16px | |
tools.map-deep-get(settings.$typography, 'body-large', 'size') | |
tools.map-deep-get(settings.$typography, 'body-large', 'weight') | |
auto | |
tools.map-deep-get(settings.$typography, 'body-large', 'letter-spacing') | |
tools.map-deep-get(settings.$typography, 'body-large', 'line-height') | |
normal | |
0 | |
none | |
( $list-item-title-font-size, $list-item-title-font-weight, $list-item-title-letter-spacing, $list-item-title-line-height, $list-item-title-text-transform ) | |
normal | |
break-word | |
64px | |
12px 16px | |
( $list-background, $list-color, $list-item-elevation, $list-item-plain-opacity, 'v-list-item' ) | |
8px | |
.75rem | |
8px 0 | |
map.get(settings.$rounded, null) | |
tools.theme-color('on-surface', var(--v-medium-emphasis-opacity)) | |
.875rem | |
400 | |
56px | |
1.375rem | |
40px | |
1 | |
16px | |
0 | |
0.2s min-height settings.$standard-easing | |
( $list-background, $list-color ) |