美文网首页
拖动缩放组件(vue-drag-zoom)

拖动缩放组件(vue-drag-zoom)

作者: 小贤笔记 | 来源:发表于2022-03-18 09:50 被阅读0次

npm 地址

戳这里👆

说明

该组件适用于对一个元素在某个区域内进行拖动/缩放

示例

安装

npm i vue-drag-zoom

使用

<template>
    <div class="drag-zoom" ref="drag-zoom">
        <vue-drag-zoom
            :area-node="node"
            allow-zoom
            :range="0.2"
            :max-zoom="10"
            :min-zoom="0.2"
        >
            <div class="drag-zoom-content">
                该区域可随意拖动/缩放
            </div>
        </vue-drag-zoom>
    </div>
</template>

<script>
import VueDragZoom from 'vue-drag-zoom';

export default {
    components: {
        VueDragZoom,
    },
    data() {
        return {
            node: null,
        };
    },
    mounted() {
        this.node = this.$refs['drag-zoom'];
    },
};
</script>

<style scoped lang="less">
.drag-zoom {
    position: relative;
    width: 50%;
    height: 50%;
    margin: 100px auto;
    background-color: lightblue;
    overflow: hidden;
    .drag-zoom-content {
        width: 150px;
        height: 150px;
        background: #ff000099;
    }
}
</style>

API

Attributes

参数 说明 类型 可选值 默认值
left 被操作的元素 X 坐标 number - 0
top 被操作的元素 Y 坐标 number - 0
width 被操作的元素宽度 number - -
height 被操作的元素高度 number - -
allow-zoom 允许缩放 boolean true false
zoom 缩放比例 number - 1
max-zoom 最大缩放比例 number - 2
min-zoom 最小缩放比例 number - 0.5
range 缩放幅度 number - 0.1
area-node 活动区域节点 HTMLDivElement - -
area-left 活动区域 X 坐标 (未设置 area-node 时生效) number - 0
area-top 活动区域 Y 坐标 (未设置 area-node 时生效) number - 0
area-width 活动区域宽度 (未设置 area-node 时生效) number - 200
area-height 活动区域高度 (未设置 area-node 时生效) number - 100

Events

事件名 说明 参数
mousemove 当鼠标拖动元素时触发 event
mousescroll 当元素缩放时触发 event

相关文章

网友评论

      本文标题:拖动缩放组件(vue-drag-zoom)

      本文链接:https://www.haomeiwen.com/subject/irdidrtx.html