Skip to content

Vue-Drag-Resize(拖动-调整大小的 VUE 组件)

用于可拖动和可调整大小的元素的 Vue 组件。

Github:https://github.com/kirillmurashov/vue-drag-resize

图片

安装

sh
$ npm i -s vue-drag-resize

引入

全局引入
js
import Vue from "vue";
import VueDragResize from "vue-drag-resize";

Vue.component("vue-drag-resize", VueDragResize);
组件内引入
vue
<div id="app">
  <VueDragResize
    :isActive="true"
    :w="200"
    :h="200"
    v-on:resizing="resize"
    v-on:dragging="resize"
  >
    <h3>Hello World!</h3>
    <p>{{ top }} х {{ left }}</p>
    <p>{{ width }} х {{ height }}</p>
  </VueDragResize>
</div>
js
import VueDragResize from "vue-drag-resize";
export default {
  name: "app",
  components: {
    VueDragResize,
  },
  data() {
    return {
      width: 0,
      height: 0,
      top: 0,
      left: 0,
    };
  },
  methods: {
    resize(newRect) {
      this.width = newRect.width;
      this.height = newRect.height;
      this.top = newRect.top;
      this.left = newRect.left;
    },
  },
};

API

基本参数

参数名描述类型默认值
isActive确定组件是否应处于活动状态。booleanfalse
preventActiveBehavior通过单击组件并单击组件区域外部来禁用组件的行为(isActive:true / false)。 如果启用了 prop,则组件仅面向指定的booleanfalse
parentW定义父元素的初始宽度。 如果未指定,则自动计算。可以设置组件的边界区域,并在实时调整大小时使用它number0
parentH定义父元素的初始高度。 如果未指定,则自动计算。可以设置组件的边界区域,并在实时调整大小时使用它number0
parentScaleX定义初始水平比例或父元素。父级的 transform:scale()css 定义中的值相同。拖动/调整大小和杆的大小将使用该值计算number1
parentScaleY定义初始垂直比例或父元素。父级的 transform:scale()css 定义中的值相同。拖动/调整大小和杆的大小将使用该值计算。number1
isDraggable确定组件是否应可拖动booleantrue
isResizable确定组件是否应调整大小booleantrue
parentLimitation将组件更改的范围限制为其父大小booleanfalse
snapToGrid确定组件是否应按预定义的步骤移动和调整大小booleanfalse
gridX定义水平轴的网格步长。组件的两侧(左侧和右侧)将捕捉到此步骤nubmer50
gridY定义垂直轴的网格步长。组件的两侧(顶部和底部)将捕捉到此步骤nubmer50
aspectRatio确定组件是否应保留其比例booleanfalse
w定义组件的初始宽度,该值可以是 >= 0 的数字或字符串“auto” ,如果设置为“auto”,则初始宽度值将等于组件内内容的宽度number,string200
h定义组件的初始高度,该值可以是 >= 0 的数字或字符串“auto” ,如果设置为“auto”,则初始宽度值将等于组件内内容的高度number,string200
minw最小宽度number50
minh最小高度nubmer50
x组件初始 x 位置number0
y组件初始 y 位置number0
z组件的 zindex 层级number,string'auto'
stickSize棍棒尺寸number8
stickSize定义句柄数组以限制元素大小调整sting[]['tl', 'tm', 'tr', 'mr', 'br', 'bm', 'bl', 'ml']
axis定义元素可拖动的轴。 可用值为 x,y,both 或 nonestringboth
dragHandle用于拖动组件的选择器string''
dragCancel用于防止拖动初始化的选择器string''
contentClass定义一个类,应用于带有 vdr 类的 divstring''

函数方法

参数名描述
clicked单击组件时调用
activated单击组件时调用,以显示句柄
deactivated当用户单击组件外部的任何位置时调用,以便将其停用
resizing组件调整大小时调用
resizestop组件停止调整大小时调用
dragging组件被拖动时调用
dragstop组件停止被拖动时调用

上次更新于: