# vs-splitview-react
**Repository Path**: boywangxj/vs-splitview-react
## Basic Information
- **Project Name**: vs-splitview-react
- **Description**: 仿VS Code SplitView 的React组件.
- **Primary Language**: TypeScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2022-09-09
- **Last Updated**: 2024-01-12
## Categories & Tags
**Categories**: react-extensions
**Tags**: React, SplitView, TypeScript, VSCode
## README
# VS-SPLITVIEW-REACT
仿VS Code SplitView 的React组件。我的认知范围内SplitView功能都有,如果没有请提交Issue。
## [演示](https://boywangxj.github.io/vs-splitview-react)
## ✨ 特性
- 🌈 VSCode 类似的SplitView功能;
- 📦 支持优先级,在父容器改变大小或拖动Sash时,优先级高的先调整大小;
- 🛡 支持最小尺寸和最大尺寸约束;
- ⚙️ 支持停靠;
- 🌍 支持固定Pane;
- 🎨 支持连锁反应;
- ⛪ 支持Hover Delay;
- 🎷 支持布局存储;
- 📚 支持嵌套布局。
## 🖥 环境
- Modern browsers and Internet Explorer 11 (with [polyfills](https://stackoverflow.com/questions/57020976/polyfills-in-2019-for-ie11))
- Server-side Rendering
- [Electron](https://www.electronjs.org/)
| [](http://godban.github.io/browsers-support-badges/)
IE / Edge | [](http://godban.github.io/browsers-support-badges/)
Firefox | [](http://godban.github.io/browsers-support-badges/)
Chrome | [](http://godban.github.io/browsers-support-badges/)
Safari | [](http://godban.github.io/browsers-support-badges/)
Electron |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| IE11, Edge | last 2 versions | last 2 versions | last 2 versions | last 2 versions |
## 📦 安装
```bash
npm install vs-splitview-react
```
```bash
yarn add vs-splitview-react
```
## 🔨 使用
```jsx
import { useState } from 'react';
import {
SplitView,
SplitViewPane,
SplitViewPaneInfo,
} from 'vs-splitview-react';
const BasicUsage = () => {
const [state, setState] = useState<{ paneData: SplitViewPaneInfo[] }>({
paneData: [
{
paneKey: 'Pane1',
minSize: 44,
maxSize: 44,
},
{
paneKey: 'Pane2',
minSize: 120,
maxSize: 240,
size: 180,
snapable: true,
},
{
paneKey: 'Pane3',
minSize: 160,
},
{
paneKey: 'Pane4',
minSize: 120,
maxSize: 240,
},
],
});
return (