The simplest setup is shown below. By default in vertical orientation two slots are available to use, left-pane and right-pane.
Populate these with content for the respective slot.
Dragging the splitter bar will shift the content accordingly. You can continue to drag outside the container.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
vue
<template> <vue-splitter> <template #left-pane> Left Pane content </template> <template #right-pane> Right Pane content </template> </vue-splitter></template>
Splitter views can be nested within other splitter views. To make a splitter horizontal see the prop is-horizontal.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Binds how far, in percent of the component container, the splitter bar will be.
WARNING
When used, you must two-way bind the value using v-model:percent to allow the value to update.
Current Percent: 25
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Sets the initial percentage of the splitter bar. This allows for a first load static value without having to two-way bind the value.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Displays the splitter as a horizontal bar, placing content on top and below.
TIP
For ease of use, the slot names can be referred to as top-pane and bottom-pane respectively.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Triggers when the splitter bar moves. See prop percent.
9:55:55:902 - 50%
Drag the splitter to see the events!
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Classes are applied to the splitter container, panes and bar.
.vue-splitter - The entire component.
.vue-splitter.vertical - When the splitter is in vertical mode.
.vue-splitter.horizontal - When the splitter is in horizontal mode.
.splitter-pane - Applied to both panes.
.splitter-pane.left-pane - Container for the left pane in vertical mode.
.splitter-pane.top-pane - Container for the top pane in horizontal mode.
.splitter-pane.right-pane - Container for the right pane in vertical mode.
.splitter-pane.bottom-pane - Container for the bottom pane in horizontal mode.
.splitter - The splitter bar itself.
.splitter.active - When the bar is being actively moved.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Some props were removed from version 1 of VueSplitter to make the component more flexible. Here's how you can achieve the same result with more flexibility.
To set the minimum width of each pane, bind a computed property to the percent prop.
The below has been limited between 20% and 60%.
Percent: 50%
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
To reset the bar on click, listen the splitter-click event and react accordingly.
The below will reset to 50% when the splitter bar is clicked.
Percent: 25%
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sit amet tellus felis. Etiam nec nunc quam. Mauris convallis felis mi, ac consequat arcu dictum ut. Nunc suscipit orci in egestas fringilla. Morbi ultricies quam sit amet mauris fringilla rhoncus. Sed efficitur ultrices ex, nec fringilla tortor egestas scelerisque. Etiam porta blandit faucibus.
Pellentesque sem nunc, tincidunt nec pulvinar et, ultricies at diam. Maecenas eget eros congue, posuere nunc id, eleifend sapien. Praesent non vehicula ante. Quisque pharetra pellentesque nisl. Nunc feugiat venenatis feugiat. Maecenas euismod purus erat, a lacinia lorem tempus quis. Duis luctus tellus at laoreet tempus. Proin eu purus neque. Proin metus nunc, sollicitudin nec ornare sit amet, tempor nec mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.