mirror of
https://github.com/element-plus/element-plus.git
synced 2026-03-13 07:51:17 +08:00
* feat(components): [splitter] add lazy prop * chore: cleanup * fix: lazy change should end dragging
3.9 KiB
3.9 KiB
title, lang
| title | lang |
|---|---|
| Splitter | en-US |
Splitter ^(beta)
Divide the area horizontally or vertically, and freely drag to adjust the size of each area.
Basic usage
The most basic usage, if no default size is passed, it will be automatically divided equally.
:::demo
splitter/basic
:::
Vertical
Use vertical orientation.
:::demo
splitter/vertical
:::
Collapsible
Configuring collapsible provides quick shrinking capability. You can use the min property to prevent expanding through dragging after collapsing.
:::demo
splitter/collapsible
:::
Disable drag
When either panel disables resizable, dragging will be disabled.
:::demo
splitter/disableDrag
:::
Panel size
v-model:size can get the panel size.
:::demo
splitter/size
:::
Lazy ^(2.11.0)
When lazy is enabled, the panel size will not update in real time during dragging, but only after the drag ends.
:::demo
splitter/lazy
:::
Splitter API
Splitter Attributes
| Name | Description | Type | Default |
|---|---|---|---|
| layout | Layout direction of the splitter | ^[enum]'horizontal' | 'vertical' |
horizontal |
| lazy ^(2.11.0) | Whether to enable lazy mode | ^[boolean] | false |
Splitter Events
| Name | Description | type |
|---|---|---|
| resize-start | Triggered when starting to resize a panel, index is the drag bar index |
^[Function](index: number, sizes: number[]) => void |
| resize | Triggered while resizing a panel, index is the drag bar index |
^[Function](index: number, sizes: number[]) => void |
| resize-end | Triggered when panel resizing ends, index is the drag bar index |
^[Function](index: number, sizes: number[]) => void |
| collapse ^(2.10.3) | Triggered when a panel is collapsed, index is the drag bar index |
^[Function](index: number, type: 'start' | 'end', sizes: number[]) => void |
SplitterPanel API
SplitterPanel Attributes
| Name | Description | Type | Default |
|---|---|---|---|
| size / v-model:size | Size of the panel (in pixels or percentage) | ^[string] / ^[number] | - |
| min | Minimum size of the panel (in pixels or percentage) | ^[string] / ^[number] | - |
| max | Maximum size of the panel (in pixels or percentage) | ^[string] / ^[number] | - |
| resizable | Whether the panel can be resized | ^[boolean] | true |
| collapsible | Whether the panel can be collapsed | ^[boolean] | false |
SplitterPanel Events
| Name | Description | type |
|---|---|---|
| update:size | Triggered when panel size changes | ^[Function](size: number) => void |
SplitterPanel Slots
| Name | Description |
|---|---|
| default | Default content of the panel |
| start-collapsible | Custom content for the start collapsible button |
| end-collapsible | Custom content for the end collapsible button |