Skip to content

Split 分割面板

可将一片区域,分割为可以拖拽调整宽度或高度的两部分区域。

基础用法

外层的 DOM 需要指定高度和宽度,组件默认充满外层容器

使用v-model双向绑定数据反应分割线所在的百分比,mode设置面板水平和垂直分割。

默认水平分割

<script setup>
import Split from '@com/Split/Split.vue'
</script>
<template>
  <div class="split-wrapper">
    <Split />
  </div>
</template>
<style>
.split-wrapper {
  width: 600px;
  height: 400px;
  border: 1px solid #3451b2;
}
</style>

垂直分割

<template>
  <div class="split-wrapper">
    <Split v-model="triggerPosition" :max="1" mode="vertical" @onMoveEnd="handleMoveEnd"></Split>
  </div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import Split from '@com/Split/Split.vue'
const triggerPosition = ref(0.3)
const handleMoveEnd = () => {
  console.log('end')
}
</script>
<style>
.split-wrapper {
  width: 600px;
  height: 400px;
  border: 1px solid #3451b2;
}
</style>

插槽

mode为默认值horizontal 水平分割时,具名插槽分别为leftright

mode为默认值vertical 水平分割时,具名插槽分别为topbottom


APIs

属性

属性名说明类型可选值默认值
v-model分割线位于面板百分比number0~10.5
mode水平或者垂直分割stringhorizontal, verticalhorizontal
min限制左边或者上边面板的最小百分比number0~10.1
max限制左边或者上边面板的最大百分比number0~10.9

具名插槽

名称说明
leftmode 为 horizontal 时可用,位于左边面板
rightmode 为 horizontal 时可用,位于右边面板
topmode 为 vertical 时可用,位于上边面板
bottommode 为 vertical 时可用,位于下边面板

事件

方法名说明参数
onMoveStart拖动开始时触发
onMoveEnd拖动结束时触发