1.1.19 • Published 13 days ago

v3-drag-zoom v1.1.19

Weekly downloads
-
License
MIT
Repository
-
Last release
13 days ago

V3DragZoom

一个基于 vue3 开发的轻量、高效缩放拖拽组件,方便开发者快速实现缩放拖拽功能。

在线演示和使用手册(DEMO)

GIT地址

https://gitee.com/ericfang/v3-drag-zoom

安装

使用以下命令安装 v3-drag-zoom

npm install v3-drag-zoom
# 或
yarn add v3-drag-zoom

导入组件

全局导入

main.js 中全局引入 v3-drag-zoom

import {createApp} from "vue";
import App from "./App.vue";
// v3-drag-zoom 组件
import V3DragZoom from "v3-drag-zoom";
// v3-drag-zoom 全局样式(必须导入,否则无法正常使用)
import "v3-drag-zoom/dist/style.css";

createApp(App).use(V3DragZoom).mount("#app");

按需导入

在需要的组件中导入 v3-drag-zoom

<script setup lang="ts">
  import {V3DragZoomContainer} from "v3-drag-zoom";
</script>

<template>
  <v3-drag-zoom-container>
    <div>需要缩放与拖拽的元素</div>
  </v3-drag-zoom-container>
</template>

API参数

v3-drag-zoom-container

Props

参数名类型默认值说明
alignStringcontain内容对齐方式,可选值有 autocontaincover
autoResizeBooleantrue是否自动重置尺寸,当容器尺寸为百分比的时候,会根据父容器变化而自动变化
followPointerBooleantrue缩放时是否跟随鼠标
maxZoomFloat100最大缩放倍数
minZoomFloat0.01最小缩放倍数
zoomFactorFloat0.1鼠标滚轮一次的缩放比例
loadingBooleanfalse是否加载中
animateDurationNumber200缩放时候的过度动画时长,单位 ms

Slots

Slot说明
default直接填写需要放置的内容

Exposed

参数名类型说明
zoom(zoom:Float) => void手动缩放 zoom: 为缩放倍数
reset() => void重置缩放

v3-drag-zoom-item

Props

参数名类型默认值是否必须说明
offsetArray\<Integer>[-50,-50]偏移量,默认值代表横向和纵向均偏移 -50%,也就是对齐中心点位置,偏移量单位为 %, 不支持 px
fixedSizeBooleanfalse是否固定大小, true代表在缩放过程中该item内容尺寸不变
rotateFloat0旋转角度单位 deg (360度)
draggableBooleanfalse是否可以拖拽移动
position(v-model)CurPosition该 item 在内容中的位置(百分比位置)

Slots

Slot说明
default直接填写需要放置的内容

Events

事件名参数说明
onMove( pos :Position)=> void每移动一点距离触发,返回当前位置
onMoveFinished( pos :Position)=> void移动结束(鼠标抬起或超出范围)触发, 返回当前位置

CurPosition

参数名类型默认值是否必须说明
xFloat横向位置 %
yFloat纵向位置 %

Position extend CurPosition

参数名类型默认值是否必须说明
xFloat横向位置 %
yFloat纵向位置 %
sub(pos:Position)=>Position计算当前 Position 与 pos 之间的差值 new Position(this.x - pos.x, this.y - pos.y);
add(pos:Position)=>Position计算当前 Position 与 pos 之间的和值 new Position(this.x + pos.x, this.y + pos.y);
1.1.19

13 days ago

1.1.18

3 months ago

1.1.17

3 months ago

1.1.16

3 months ago

1.1.15

4 months ago

1.1.14

4 months ago

1.1.1

6 months ago

1.1.0

6 months ago

1.1.9

6 months ago

1.1.8

6 months ago

1.1.7

6 months ago

1.1.6

6 months ago

1.1.5

6 months ago

1.1.4

6 months ago

1.1.3

6 months ago

1.1.2

6 months ago

1.1.12

6 months ago

1.1.11

6 months ago

1.1.10

6 months ago

1.1.13

6 months ago

1.0.2

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago