vue-drag-resize 可拖动缩放元素组件

发布于:2023-09-15 ⋅ 阅读:(186) ⋅ 点赞:(0)

1、安装

npm i -s vue-drag-resize

2、使用

<template>
  <div class="screen-content">
    <vue-drag-resize w="200" :h="200" @resizing="resize" @dragging="resize" contentClass="resize-box">
      <p>{{ top }} х {{ left }}</p>
      <p>{{ width }} х {{ height }}</p>
    </vue-drag-resize>
  </div>
</template>

<script>
  import VueDragResize from 'vue-drag-resize'
  export default {
    name: 'test',
    data() {
      return {
        width: 0,
        height: 0,
        top: 0,
        left: 0
      }
    },
    components: {
      VueDragResize
    },
    methods: {
      resize(newRect) {
        this.width = newRect.width;
        this.height = newRect.height;
        this.top = newRect.top;
        this.left = newRect.left;
      }
    }
  }
</script>

<style lang="scss" scoped>
  .screen-content {
    width: 1280px;
    height: 720px;
    position: absolute;
    top: 100px;
    left: 100px;
    background-color: #fff9f5;
    .resize-box {
      background-color: skyblue;
    }
  }
</style>

3、参数

参数 说明 类型 默认值
isActive 是否处于激活状态 Boolean false
isDraggable 是否允许拖拽 Boolean true
isResizable 是否允许缩放 Boolean true
preventActiveBehavior 是否禁止组件行为,通过单击组件并单击组件区域外部来禁用组件的行为 Boolean false
parentW 父级宽度,定义父元素的初始宽度,未指定则自动计算 Number 0
parentH 父级高度,定义父元素的初始高度,未指定则自动计算 Number 0
parentScaleX 父级水平比例,定义父元素初始水平比例 Number 1
parentScaleY 父级垂直比例,定义父元素初始垂直比例 Number 1
parentLimitation 是否超出父级元素,将组件更改的范围限制为其父大小,即限制操作组件不能超出父级元素 Boolean false
snapToGrid 是否等距离移动,确定组件是否应按预定义的步骤移动和调整大小 Boolean false
gridX X轴网格步长 Number 50
gridY Y轴网格步长 Number 50
aspectRatio 是否等比例缩放 Boolean false
x 定位水平距离 Number 0
y 定位垂直距离 Number 0
z 定位层次 Number auto
w 组件宽度,该值可以是数字 >= 0 或字符串"auto",如果设置为"auto",则初始高度值将等于组件中内容的高度 Number、 String 200
h 组件高度,该值可以是数字 >= 0 或字符串"auto",如果设置为"auto",则初始高度值将等于组件中内容的高度 Number、 String 200
minw 最小宽度,不能设置为0 Number 50
minh 最小高度,不能设置为0 Number 50
sticks 定义元素缩放的节点 Array [‘tl’, ‘tm’, ‘tr’, ‘mr’, ‘br’, ‘bm’, ‘bl’, ‘ml’]
stickSize 定义节点的大小 Number 8
axis 允许拖拽的方向 String x、y、both、none,默认both
dragHandle 定义应该用于拖动组件的选择器 String 示例:dragHandle=".drag"
dragCancel 定义应该用阻止拖动初始化的选择器 String 示例:dragHandle=".drag"
contentClass 定义一个类,该类应用于 div String 示例:contentClass="xxx"

4、事件

名称 说明 回调参数
clicked 组件点击事件
activated 组件激活事件
deactivated 组件取消激活事件
resizing 缩放时事件

{

    left: Number,

    top: Number,

    width: Number,

    height: Number

}

resizestop 缩放结束时事件 同上
dragging 拖拽时事件 同上
dragstop 拖拽结束时事件 同上

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到