The v-treeview component is useful for displaying large amounts of nested data.

Usage

A basic example

API

Examples

Dense mode

Dense mode provides more compact layout with decreased heights of the items.

Checkbox color

You can control the color of the selected node checkbox.

Color

You can control the text and background color of the active treeview node.

Shaped

Shaped treeview's have rounded borders on one side of the nodes.

Rounded

You can make treeview nodes rounded.

Disabling nodes

Setting item-disabled prop allows to control which node's property disables the node when set to true.

Selection type

Treeview now supports two different selection types. The default type is 'leaf', which will only include leaf nodes in the v-model array, but will render parent nodes as either partially or fully selected. The alternative mode is 'independent', which allows one to select parent nodes, but each node is independent of its parent and children.

Selectable

You can easily select treeview nodes and children.

Activatable

Treeview nodes can be activated by clicking on them.

Hoverable

Treeview nodes can have a hover effect.

Open-all

Treeview nodes can be pre-opened on page load.

Slots

Using slots we are able to create an intuitive file explorer. Apart from the prepend slot, there is also one for the label, and an append slot.

Searching a directory

Easily filter your treeview by using the search prop. You can easily apply your custom filtering function if you need case-sensitive or fuzzy filtering by setting the filter prop. This works similar to the v-autocomplete component.

Async items

You can dynamically load child data by supplying a Promise callback to the load-children prop. This callback will be executed the first time a user tries to expand an item that has a children property that is an empty array.

Custom selectable icons

Customize the on, off and indeterminate icons for your selectable tree. Combine with other advanced functionality like API loaded items.

Edit this page on Github | Translate on Crowdin
Vuetify
StoreFor Enterprise