vue3-page-split

2.2.2 • Public • Published

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

Package Sidebar

Install

npm i vue3-page-split

Weekly Downloads

88

Version

2.2.2

License

MIT

Unpacked Size

34.7 kB

Total Files

8

Last publish

Collaborators

  • billy2008