Skip to content

Breadcrumb API Reference

Props

PropTypeDefaultDescription
itemsArray[]Array of breadcrumb items to display
separatorString"/"Character or string to use as separator
gapString"0.5rem"Gap between breadcrumb items

Each item in the items array should have this structure:

js
{
  label: "Home",           // Required: Display text for the breadcrumb item
  to: "/test-page",        // Required: Route path to navigate to when clicked
  disabled: false          // Optional: Whether the item is clickable (default: false)
}

Example:

js
const breadcrumbItems = [
  { label: "Home", to: "/test-page", disabled: false },
  { label: "Products", to: "/products", disabled: false },
  { label: "Current Page", to: "/products/item", disabled: true },
];

Events

The component doesn't emit any events directly. Navigation is handled internally using Vue Router.

Slots

SlotDescription
separatorCustom content for the separator between items

Methods

The component doesn't expose any methods via template refs.

Example Usage

Basic Usage

vue
<template>
  <OBreadCrumb :items="breadcrumbItems" />
</template>

<script setup>
import { OBreadCrumb } from "your-component-library";

const breadcrumbItems = [
  { label: "Home", to: "/" },
  { label: "Products", to: "/products" },
  { label: "Category", to: "/products/category" },
  { label: "Current Page", to: "/products/category/item", disabled: true },
];
</script>

Custom Separator

vue
<template>
  <OBreadCrumb :items="breadcrumbItems" separator="›" />
</template>

<script setup>
import { OBreadCrumb } from "your-component-library";

const breadcrumbItems = [
  { label: "Home", to: "/" },
  { label: "Products", to: "/products" },
  { label: "Current Page", to: "/products/item", disabled: true },
];
</script>

Custom Gap

vue
<template>
  <OBreadCrumb :items="breadcrumbItems" gap="1rem" />
</template>

<script setup>
import { OBreadCrumb } from "your-component-library";

const breadcrumbItems = [
  { label: "Home", to: "/" },
  { label: "Products", to: "/products" },
  { label: "Current Page", to: "/products/item", disabled: true },
];
</script>

Custom Separator Slot

vue
<template>
  <OBreadCrumb :items="breadcrumbItems">
    <template #separator>
      <span class="custom-separator">→</span>
    </template>
  </OBreadCrumb>
</template>

<script setup>
import { OBreadCrumb } from "your-component-library";

const breadcrumbItems = [
  { label: "Home", to: "/" },
  { label: "Products", to: "/products" },
  { label: "Current Page", to: "/products/item", disabled: true },
];
</script>

<style>
.custom-separator {
  color: #666;
  margin: 0 0.5rem;
}
</style>