Skip to content

Splitter 分割面板

基础用法

Left
Right
<template>
  <lb-splitter style="height: 300px; border: 1px solid #dcdfe6">
    <lb-splitter-panel>
      <div class="content">Left</div>
    </lb-splitter-panel>
    <lb-splitter-panel>
      <div class="content">Right</div>
    </lb-splitter-panel>
  </lb-splitter>
</template>

<style scoped>
.content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: #f0f2f5;
}
</style>

折叠功能

Left Panel
Right Panel
<template>
  <lb-splitter style="height: 300px; border: 1px solid #dcdfe6">
    <lb-splitter-panel :size="200">
      <div class="content">Left Panel</div>
    </lb-splitter-panel>
    <lb-splitter-panel :size="200">
      <div class="content">Right Panel</div>
    </lb-splitter-panel>
  </lb-splitter>
</template>

<style scoped>
.content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: #f0f2f5;
}
</style>

垂直分割

Top
Bottom
<template>
  <lb-splitter direction="vertical" style="height: 300px; border: 1px solid #dcdfe6">
    <lb-splitter-panel>
      <div class="content">Top</div>
    </lb-splitter-panel>
    <lb-splitter-panel>
      <div class="content">Bottom</div>
    </lb-splitter-panel>
  </lb-splitter>
</template>

<style scoped>
.content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: #f0f2f5;
}
</style>

最小/最大尺寸

Left Panel (min: 100px, max: 300px)
Right Panel
<template>
  <lb-splitter style="height: 300px; border: 1px solid #dcdfe6">
    <lb-splitter-panel :min-size="100" :max-size="300">
      <div class="content">Left Panel (min: 100px, max: 300px)</div>
    </lb-splitter-panel>
    <lb-splitter-panel>
      <div class="content">Right Panel</div>
    </lb-splitter-panel>
  </lb-splitter>
</template>

<style scoped>
.content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: #f0f2f5;
}
</style>

嵌套使用

Outer Left
Inner Top
Inner Bottom
<template>
  <lb-splitter style="height: 300px; border: 1px solid #dcdfe6">
    <lb-splitter-panel>
      <div class="content">Outer Left</div>
    </lb-splitter-panel>
    <lb-splitter-panel>
      <lb-splitter direction="vertical" style="height: 100%;">
        <lb-splitter-panel>
          <div class="content">Inner Top</div>
        </lb-splitter-panel>
        <lb-splitter-panel>
          <div class="content">Inner Bottom</div>
        </lb-splitter-panel>
      </lb-splitter>
    </lb-splitter-panel>
  </lb-splitter>
</template>

<style scoped>
.content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background-color: #f0f2f5;
}
</style>

Splitter

Attributes

AttributeDescriptionTypeAccepted ValuesDefault
direction分割方向horizontal / verticalhorizontal / verticalhorizontal
dragging是否可拖拽booleantrue / falsetrue

Events

Event NameDescriptionParameters
resize拖拽分割条时触发(sizes: number[])

SplitterPanel

Attributes

AttributeDescriptionTypeAccepted ValuesDefault
size面板大小numberundefined
minSize最小尺寸number0
maxSize最大尺寸numberInfinity
resizeabel是否可调整大小booleantrue / falsetrue