vue3-page-split

基于 Vue3 的面板分割
1,129 7
Install
npm install vue3-page-split
Latest Version:2.2.2
Vue:3
License:MIT
Last Updated:May 14, 2024
Links: GitHub  ·  npm
Maintainer: billy2008

Vue Page Split

基于 Vue3 的可拖拉缩放的分割面板

Vue2 版

English | 简体中文

🌰 示例

https://chenchengbi.github.io/vue-page-split/#/

📦 安装

$ npm i vue3-page-split -S

🔨 使用

在 Vue 项目中使用 PageSplit

<template>
  <PageSplit :distribute="0.3" :lineThickness="6" :isVertical="true" @resizeLineStartMove="onresizeLineStartMove"
    @resizeLineMove="onResizeLineMove" @resizeLineEndMove="onresizeLineEndMove">
    <template v-slot:first>
      <h1>A</h1>
    </template>
    <template v-slot:second>
      <h1>B</h1>
    </template>
  </PageSplit>
</template>

<script setup>
import PageSplit from "vue3-page-split";
import "vue3-page-split/dist/style.css";

function onresizeLineStartMove() {
  console.log("onresizeLineStartMove");
}
function onResizeLineMove(e) {
  console.log("onResizeLineMove :>> ", e);
}
function onresizeLineEndMove() {
  console.log("onresizeLineEndMove");
}
</script>

🔠 属性

属性名 类型 默认值 说明
distribute Number 0.5 面板比例,取值范围 0~1
isVertical Boolean true 切割模式(true:垂直切割,false:水平切割)
lineThickness Number 6 分割线的宽度
hasLineTip Boolean true 分割线中是否有三条杠
backgroundColor String "#a0cfff" 分割线的背景颜色
hoverColor String "#409eff" 分割线的鼠标hover后的颜色
hasBoxShadow Boolean true 分割线是否有box-shadow样式
firstMinValue Number 0 左组件/上组件的最小宽度/高度,必须>=0
secondMinValue Number 0 右组件/下组件的最小宽度/高度,必须>=0
isFirstComponentMasked Boolean false 左组件/上组件是否需要遮挡层
isSecondComponentMasked Boolean false 右组件/下组件是否需要遮挡层

备注:遮挡层用于捕获鼠标事件,主要在组件内包含iframe时使用,因为iframe会“吞噬”鼠标事件

🎺 事件

本组件会触发3个事件:

事件名 说明 返回值
resizeLineStartMove 拖拽开始 -
resizeLineMove 拖拽中 event对象
resizeLineEndMove 拖拽结束 -

📷 效果图

如果图片加载不出,请到 Homepage 或 Repository 查看

动效图1 效果图2

Related Packages

vue-smart-widget

Smart widget is a flexible and extensible content container component for Vue2.5...

19,633 193
@minogin/vue-drag-resize-rotate

Vue component which acts as a draggable, resizable and rotateable container for...

7,341 78
vue-grid-layout

A draggable and resizable grid layout, as a Vue component.

2,102,559 7,398

Version History

Version Released Vue License
2.2.2 ^3.2.47 MIT
2.2.1 ^3.2.47 MIT
2.2.0 ^3.2.47 MIT
2.1.3 ^3.2.47 MIT
2.1.2 ^3.2.47 MIT