Skip to content

Breadcrumb ​

Sayt ierarxiyasidagi joriy sahifaning joylashuvini ko'rsatuvchi navigatsiya komponenti. Yig'ish, dropdown, ikonkalar, o'lchamlar, loading holati, qisqartirish, maxsus ajratuvchilar, slot lar va to'liq class moslashuvini qo'llab-quvvatlaydi.

Basic ​

vue
<script setup>
import { VxBreadcrumb } from 'veloxui'

const items = [
  { label: 'Home', href: '/' },
  { label: 'Products', href: '/products' },
  { label: 'Electronics', href: '/products/electronics' },
  { label: 'Headphones' },
]
</script>

<template>
  <VxBreadcrumb :items="items" />
</template>

Sizes ​

Uchta o'lcham: small, default va large.

default
vue
<VxBreadcrumb :items="items" size="small" />
<VxBreadcrumb :items="items" size="default" />
<VxBreadcrumb :items="items" size="large" />

Separators ​

O'rnatilgan ajratuvchilardan tanlang yoki maxsus satrni uzating.

slash
dot
dash
vue
<VxBreadcrumb :items="items" separator="slash" />
<VxBreadcrumb :items="items" separator="arrow" />
<VxBreadcrumb :items="items" separator="dot" />
<VxBreadcrumb :items="items" separator="dash" />

Custom Separator ​

Ajratuvchi sifatida istalgan satrni uzating yoki #separator slot idan foydalaning.

vue
<VxBreadcrumb :items="items" separator="|" />
<VxBreadcrumb :items="items" separator="→" />

<VxBreadcrumb :items="items">
  <template #separator>
    <MyIcon />
  </template>
</VxBreadcrumb>

Icons ​

O'rnatilgan ikonkalarni ko'rsatish uchun elementlarda icon ni o'rnating: home, folder, file, settings. Yoki maxsus ikonkalar uchun #icon slot idan foydalaning.

vue
<VxBreadcrumb :items="[
  { label: 'Home', href: '/', icon: 'home' },
  { label: 'Documents', href: '/docs', icon: 'folder' },
  { label: 'Report.pdf', icon: 'file' },
]" separator="arrow" />

Collapsed (Expand) ​

Uzun breadcrumb larni yig'ish uchun max-items dan foydalaning. Kengaytirish uchun ellipsis ni bosing.

vue
<VxBreadcrumb :items="items" :max-items="3" />

Collapsed (Dropdown) ​

Yashirilgan elementlarni dropdown popover da ko'rsatish uchun collapse-mode="dropdown" ni o'rnating.

vue
<VxBreadcrumb
  :items="items"
  :max-items="3"
  collapse-mode="dropdown"
/>

Truncation ​

Uzun yorliqlarni ellipsis bilan qisqartirish uchun max-width dan foydalaning. To'liq matnni ko'rish uchun hover qiling.

vue
<VxBreadcrumb :items="items" :max-width="120" />

Loading ​

Ma'lumot yuklanayotganda skelet placeholder ni ko'rsatadi.

vue
<VxBreadcrumb :items="items" loading />

Disabled Items ​

Alohida elementlar o'chirib qo'yilishi mumkin.

vue
<VxBreadcrumb :items="[
  { label: 'Home', href: '/' },
  { label: 'Archived', href: '/archived', disabled: true },
  { label: 'Old Page' },
]" />

Custom Item Slot ​

Maxsus renderlash uchun #item slot idan foydalaning. item, index va active ni oladi.

vue
<VxBreadcrumb :items="items">
  <template #item="{ item, active }">
    <MyIcon :name="item.icon" />
    {{ item.label }}
  </template>
</VxBreadcrumb>

Exposed Methods ​

expand(), collapse() va isCollapsed ga template ref orqali kirishingiz mumkin.

vue
<script setup>
import { ref } from 'vue'
const breadcrumbRef = ref()

function toggleCollapse() {
  if (breadcrumbRef.value.isCollapsed) {
    breadcrumbRef.value.expand()
  } else {
    breadcrumbRef.value.collapse()
  }
}
</script>

<template>
  <VxBreadcrumb ref="breadcrumbRef" :items="items" :max-items="3" />
  <button @click="toggleCollapse">Almashtirish</button>
</template>

Custom Classes ​

root-class, item-class, active-class va separator-class bilan stilni qayta aniqlang.

vue
<VxBreadcrumb
  :items="items"
  root-class="my-breadcrumb"
  item-class="my-item"
  active-class="my-active"
  separator-class="my-sep"
/>

API ​

VxBreadcrumb Props ​

PropTypeDefaultDescription
itemsBreadcrumbItem[][]Breadcrumb elementlari
separator'slash' | 'arrow' | 'dot' | 'dash' | string'slash'Elementlar orasidagi ajratuvchi
size'small' | 'default' | 'large''default'O'lcham varianti
max-itemsnumber0Ko'rinadigan elementlar maksimal soni (0 = hammasini ko'rsatish). O'rtadagi elementlarni yig'adi.
collapse-mode'expand' | 'dropdown''expand'Yig'ilgan elementlar qanday ochilishi
max-widthnumber0Har bir yorliq uchun maksimal kenglik (px da). Ellipsis bilan qisqartiradi.
loadingbooleanfalseSkelet loading holatini ko'rsatish
root-classstring | string[] | object—Ildiz <nav> dagi class
item-classstring | string[] | object—Har bir havoladagi class
active-classstring | string[] | object—Joriy (oxirgi) elementdagi class
separator-classstring | string[] | object—Ajratuvchi elementlardagi class
PropertyTypeRequiredDescription
labelstringYesKo'rsatiladigan matn
hrefstringNoHavola URL i
tostring | objectNoVue Router manzili (<router-link> sifatida renderlanadi)
iconstringNoO'rnatilgan ikonka: home, folder, file, settings
disabledbooleanNoUshbu elementni o'chirib qo'yish

Events ​

EventPayloadDescription
click(item, index, event)Element bosildi
expand—Yig'ilgan elementlar kengaytirildi
collapse—Elementlar qayta yig'ildi

Slots ​

SlotPropsDescription
item{ item, index, active }Maxsus element kontenti
icon{ item }Har bir element uchun maxsus ikonka
separator—Maxsus ajratuvchi kontenti
ellipsis{ expand, toggleDropdown, collapsedItems }Maxsus ellipsis tugmasi

Exposed ​

NameTypeDescription
expand()() => voidYig'ilgan elementlarni kengaytirish
collapse()() => voidElementlarni qayta yig'ish
isCollapsedbooleanJoriy yig'ilish holati