Skip to content

Splitter ​

O‘lchami o‘zgartiriladigan bo‘lingan panellar. Panellarning o‘lchamini o‘zgartirish uchun ular orasidagi tutqichni torting.

Panel A
Panel B
vue
<template>
  <VxSplitter>
    <VxSplitterPanel>Panel A</VxSplitterPanel>
    <VxSplitterHandle />
    <VxSplitterPanel>Panel B</VxSplitterPanel>
  </VxSplitter>
</template>

Vertical ​

Top
Bottom
vue
<template>
  <VxSplitter direction="vertical">
    <VxSplitterPanel>Top</VxSplitterPanel>
    <VxSplitterHandle />
    <VxSplitterPanel>Bottom</VxSplitterPanel>
  </VxSplitter>
</template>

Initial Size ​

Panelning boshlang‘ich o‘lchamini foiz sifatida belgilang.

30%
70%
vue
<template>
  <VxSplitter>
    <VxSplitterPanel :size="30">30%</VxSplitterPanel>
    <VxSplitterHandle />
    <VxSplitterPanel :size="70">70%</VxSplitterPanel>
  </VxSplitter>
</template>

Min / Max Size ​

Panel qanchalik kichik yoki katta bo‘lishi mumkinligini cheklang.

Min 20% / Max 60%
Flexible
vue
<template>
  <VxSplitter>
    <VxSplitterPanel :min-size="20" :max-size="60">Constrained</VxSplitterPanel>
    <VxSplitterHandle />
    <VxSplitterPanel>Flexible</VxSplitterPanel>
  </VxSplitter>
</template>

Three Panels ​

Sidebar
Main
Inspector
vue
<template>
  <VxSplitter>
    <VxSplitterPanel :size="25">Sidebar</VxSplitterPanel>
    <VxSplitterHandle />
    <VxSplitterPanel :size="50">Main</VxSplitterPanel>
    <VxSplitterHandle />
    <VxSplitterPanel :size="25">Inspector</VxSplitterPanel>
  </VxSplitter>
</template>

Nested ​

Gorizontal va vertikal splitterlarni birlashtiring.

Sidebar
Editor
Terminal
vue
<template>
  <VxSplitter>
    <VxSplitterPanel :size="30">Sidebar</VxSplitterPanel>
    <VxSplitterHandle />
    <VxSplitterPanel :size="70">
      <VxSplitter direction="vertical">
        <VxSplitterPanel :size="60">Editor</VxSplitterPanel>
        <VxSplitterHandle />
        <VxSplitterPanel :size="40">Terminal</VxSplitterPanel>
      </VxSplitter>
    </VxSplitterPanel>
  </VxSplitter>
</template>

Disabled Handle ​

Tutqichni tortishning oldini oling.

Fixed
This handle cannot be dragged
vue
<template>
  <VxSplitter>
    <VxSplitterPanel :size="40">Fixed</VxSplitterPanel>
    <VxSplitterHandle disabled />
    <VxSplitterPanel :size="60">Cannot drag</VxSplitterPanel>
  </VxSplitter>
</template>

Collapsible Panel ​

Tugma yordamida panelni ochish/yopish uchun almashtiring. Panel nol kenglikka anime qilinadi.

Sidebar
Main Content
vue
<script setup>
import { ref } from 'vue'
const collapsed = ref(false)
</script>

<template>
  <VxButton @click="collapsed = !collapsed">
    {{ collapsed ? 'Open' : 'Close' }}
  </VxButton>
  <VxSplitter>
    <VxSplitterPanel :size="30" collapsible :collapsed="collapsed">
      Sidebar
    </VxSplitterPanel>
    <VxSplitterHandle />
    <VxSplitterPanel>Main</VxSplitterPanel>
  </VxSplitter>
</template>

Lazy ​

resize hodisasini faqat tortish tugaganida chiqaradi, davomida emas. Og‘ir kontent uchun yaxshiroq.

Panel A
Panel B (resize fires on drop)
vue
<template>
  <VxSplitter lazy @resize="onResize">
    <VxSplitterPanel>Panel A</VxSplitterPanel>
    <VxSplitterHandle />
    <VxSplitterPanel>Panel B</VxSplitterPanel>
  </VxSplitter>
</template>

Props ​

VxSplitter ​

PropTypeDefaultDescription
direction'horizontal' | 'vertical''horizontal'Bo‘lish yo‘nalishi
lazybooleanfalseResize hodisasini faqat tortish tugagach chiqarish

VxSplitterPanel ​

PropTypeDefaultDescription
sizenumber—Foizdagi boshlang‘ich o‘lcham
minSizenumber0Foizdagi minimal o‘lcham
maxSizenumber100Foizdagi maksimal o‘lcham
collapsiblebooleanfalsePanelni yig‘ishga ruxsat berish
collapsedbooleanfalseYig‘ilgan holat

VxSplitterHandle ​

PropTypeDefaultDescription
disabledbooleanfalseTortishni o‘chirish

Events ​

EventTypeDescription
resize(sizes: number[]) => voidTortish davomida ishga tushadi (yoki lazy bo‘lsa qo‘yib yuborilganda)