Компонент Breadcrumb предназначен для отображения навигационной цепочки, позволяя пользователю понимать текущее местоположение в иерархии приложения. В Naive UI Breadcrumb реализован как гибкий и настраиваемый элемент, который легко интегрируется в интерфейсы любых приложений на Vue 3 и JavaScript.
Компонент импортируется из библиотеки следующим образом:
import { NBreadcrumb, NBreadcrumbItem } from 'naive-ui'
NBreadcrumb является контейнером, который содержит последовательность элементов NBreadcrumbItem. Каждый элемент представляет собой шаг или уровень навигации.
Пример базового использования:
<template>
<n-breadcrumb>
<n-breadcrumb-item>Главная</n-breadcrumb-item>
<n-breadcrumb-item>Категории</n-breadcrumb-item>
<n-breadcrumb-item>Электроника</n-breadcrumb-item>
</n-breadcrumb>
</template>
В этом примере создается трехуровневая навигационная цепочка.
Элементы разделяются автоматически стрелкой (>), хотя
символ можно кастомизировать.
По умолчанию разделителем выступает символ «/», но можно использовать любой текст или компонент:
<n-breadcrumb separator=">">
<n-breadcrumb-item>Главная</n-breadcrumb-item>
<n-breadcrumb-item>Блог</n-breadcrumb-item>
<n-breadcrumb-item>Vue 3</n-breadcrumb-item>
</n-breadcrumb>
Также возможно использование пользовательского слота
separator для более сложных визуальных решений:
<n-breadcrumb>
<template #separator>
<span style="color: gray;">→</span>
</template>
<n-breadcrumb-item>Главная</n-breadcrumb-item>
<n-breadcrumb-item>Документы</n-breadcrumb-item>
</n-breadcrumb>
Элементы NBreadcrumbItem могут быть кликабельными, что позволяет реализовать навигацию по страницам:
<n-breadcrumb>
<n-breadcrumb-item to="/">Главная</n-breadcrumb-item>
<n-breadcrumb-item to="/docs">Документы</n-breadcrumb-item>
<n-breadcrumb-item>Текущая страница</n-breadcrumb-item>
</n-breadcrumb>
Атрибут to поддерживает как строку пути, так и объект
маршрута для работы с Vue Router:
<n-breadcrumb-item :to="{ name: 'home' }">Главная</n-breadcrumb-item>
Если элемент не должен быть ссылкой, to можно опустить,
и он будет отображаться как обычный текст.
Breadcrumb часто строится динамически на основе данных. Это удобно для больших проектов с вложенной структурой:
<template>
<n-breadcrumb>
<n-breadcrumb-item
v-for="(item, index) in breadcrumbData"
:key="index"
:to="item.link"
>
{{ item.label }}
</n-breadcrumb-item>
</n-breadcrumb>
</template>
<script>
export default {
data() {
return {
breadcrumbData: [
{ label: 'Главная', link: '/' },
{ label: 'Категории', link: '/categories' },
{ label: 'Компьютеры', link: '/categories/computers' },
]
}
}
}
</script>
Такой подход позволяет централизованно управлять навигацией, изменяя структуру данных без редактирования шаблона.
Naive UI предоставляет множество возможностей для визуальной настройки Breadcrumb:
small,
medium, large):<n-breadcrumb size="small">
<n-breadcrumb-item>Главная</n-breadcrumb-item>
<n-breadcrumb-item>Новости</n-breadcrumb-item>
</n-breadcrumb>
<n-breadcrumb :separator-style="{ color: 'gray', margin: '0 8px' }">
<n-breadcrumb-item :style="{ fontWeight: 'bold' }">Главная</n-breadcrumb-item>
<n-breadcrumb-item>Статьи</n-breadcrumb-item>
</n-breadcrumb>
Breadcrumb поддерживает слоты для полной кастомизации:
default — для элементов
NBreadcrumbItemseparator — для индивидуального разделителя между
элементамиicon — для добавления иконок рядом с элементомПример с иконкой:
<n-breadcrumb>
<n-breadcrumb-item>
<template #icon>
<n-icon><HomeOutlined /></n-icon>
</template>
Главная
</n-breadcrumb-item>
<n-breadcrumb-item>Каталог</n-breadcrumb-item>
</n-breadcrumb>
Использование слотов позволяет интегрировать любые кастомные компоненты, сохраняя единый стиль приложения.
Для мобильных и маленьких экранов часто используется сокращенный вариант Breadcrumb. В Naive UI можно управлять видимостью элементов с помощью условного рендеринга:
<n-breadcrumb>
<n-breadcrumb-item>Главная</n-breadcrumb-item>
<n-breadcrumb-item v-if="showCategory">Категории</n-breadcrumb-item>
<n-breadcrumb-item>Текущая страница</n-breadcrumb-item>
</n-breadcrumb>
В сочетании с медиазапросами это позволяет создавать компактные и удобные навигационные цепочки.
Использование этих инструментов позволяет создавать гибкие, динамичные и визуально привлекательные Breadcrumb-навигации, соответствующие современным стандартам интерфейсов на Vue 3 с Naive UI.