组件/Splitter 分割面板
通用组件

Splitter 分割面板

可拖拽分割面板,支持水平/垂直。

该页面由 AI 迁移生成,请谨慎使用

内容已迁移完成,但仍建议结合源码和人工评审结果使用。

Splitter 分割面板

可拖拽分割面板,支持水平/垂直。

基础用法

Splitter

示例即将加载...
<script setup lang="ts">
import { ref } from 'vue'

const ratio = ref(0.4)
</script>

<template>
  <div style="width: 520px; height: 240px; border: 1px solid var(--tx-border-color); border-radius: 12px; overflow: hidden;">
    <TxSplitter v-model="ratio" style="width: 100%; height: 100%;">
      <template #a>
        <div style="height: 100%; padding: 12px; color: var(--tx-text-color-secondary);">
          A ({{ ratio.toFixed(2) }})
        </div>
      </template>
      <template #b>
        <div style="height: 100%; padding: 12px; color: var(--tx-text-color-secondary);">
          B
        </div>
      </template>
    </TxSplitter>
  </div>
</template>

API

Props

属性名类型默认值说明
modelValuenumber0.5分割比例(0-1)
direction'horizontal' | 'vertical''horizontal'分割方向
minnumber0.1最小比例
maxnumber0.9最大比例
disabledbooleanfalse禁用
barSizenumber10分割条尺寸(px)
snapnumber0吸附步进(0 表示不吸附)

Slots

名称说明
a左/上面板
b右/下面板

Events

事件名参数说明
update:modelValue(ratio)v-model 更新
change(ratio)值变化
drag-start-开始拖拽
drag-end-结束拖拽