佛山优化企业网站排名平台,小说+wordpress,网站建设 绍兴的公司,淄博网络优化哪家专业特征 没有依赖 使用可拖动#xff0c;可调整大小或两者兼备定义用于调整大小的句柄限制大小和移动到父元素或自定义选择器将元素捕捉到自定义网格将拖动限制为垂直或水平轴保持纵横比启用触控功能使用自己的样式为句柄提供自己的样式 安装和基本用法 npm install --save vue-d… 特征 没有依赖 使用可拖动可调整大小或两者兼备定义用于调整大小的句柄限制大小和移动到父元素或自定义选择器将元素捕捉到自定义网格将拖动限制为垂直或水平轴保持纵横比启用触控功能使用自己的样式为句柄提供自己的样式 安装和基本用法 npm install --save vue-draggable-resizable 全局注册组件main.js中写入 import Vue from vue
import VueDraggableResizable from vue-draggable-resizable// 可选择导入默认样式 import ‘vue-draggable-resizable/dist/VueDraggableResizable.css’
Vue.component(‘vue-draggable-resizable’, VueDraggableResizable)
局部注册在使用的组件里引用 import VueDraggableResizable from vue-draggable-resizable
import vue-draggable-resizable/dist/VueDraggableResizable.css 常用属性总结 :w 默认宽度
:h 默认高度
:x50 默认水平坐标 注意相对元素是谁
:y50 默认垂直最表 注意相对元素是谁
:min-width50 最小宽度
:min-height50 最小高度
:parenttrue 限制不能拖出父元素
parent.p-event 限制不能拖出class为p-event的元素
:grid 水平和垂直移动 每次分别能够走多少像素
class-name 自定义组件class 下面定义一个dragging1 常用事件总结 事件简述 文档可点击直接进入中ctrlf 搜索 “事件” 查看详细事件参数 本demo举例的不一一阐述
draggingonDrag 每当拖动组件时调用。
resizingonResize 每当组件调整大小时调用。本demo没用到的 可能会用到的 dragstop“onDragstop” 每当组件停止拖动时调用。 resizestop“onResizstop” 每当组件停止调整大小时调用 deactivated“onDeactivated” 每当用户单击组件外的任何位置时调用 activated“onActivated” 单击组件时调用以显示句柄。备注句柄就是点击组件后上下左右的可以拉伸的方块点
举例
vue模板代码 div classhelloworddiv classtext-eventvue-draggable-resizable:w150:h150:x50:y50:min-width50:min-height50:parenttrue:grid[10,10]class-namedragging1draggingonDragresizingonResizep你好 我是一个灵活的组件。 你可以拖我四处你可以调整我的大小。br /X: {{ x }} / Y: {{ y }} - Width: {{ width }} / Height: {{ height }}/p/vue-draggable-resizable/div
span stylecolor:#008000;lt;!--/spanspan stylecolor:#008000; 相对于class等于什么的标记拖拽 注意指定 parent /spanspan stylecolor:#008000;--gt;/span
span stylecolor:#0000ff;lt;/spanspan stylecolor:#800000;div /spanspan stylecolor:#ff0000;class/spanspan stylecolor:#0000ff;p-event/spanspan stylecolor:#0000ff;gt;/spanspan stylecolor:#0000ff;lt;/spanspan stylecolor:#800000;vue-draggable-resizable /spanspan stylecolor:#ff0000;parent/spanspan stylecolor:#0000ff;.p-event/spanspan stylecolor:#0000ff;gt;/spanspan stylecolor:#0000ff;lt;/spanspan stylecolor:#800000;p/spanspan stylecolor:#0000ff;gt;/spanYou can drag me around and resize me as you wish.span stylecolor:#0000ff;lt;//spanspan stylecolor:#800000;p/spanspan stylecolor:#0000ff;gt;/spanspan stylecolor:#0000ff;lt;//spanspan stylecolor:#800000;vue-draggable-resizable/spanspan stylecolor:#0000ff;gt;/span
span stylecolor:#0000ff;lt;//spanspan stylecolor:#800000;div/spanspan stylecolor:#0000ff;gt;/span/div
vue script代码 export default {name: HelloWorld,data: function() {return {width: 0,height: 0,x: 0,y: 0};},methods: {onResize: function(x, y, width, height) {this.x x;this.y y;this.width width;this.height height;},onDrag: function(x, y) {this.x x;this.y y;}}
}; vue 层叠样式代码 .helloword {overflow: hidden;
}
.text-event {float: left;height: 500px;width: 500px;border: 1px solid red;position: relative; /* 网格设置 */ background: linear-gradient(-90deg, rgba(0, 0, 0, 0.1) 1px, transparent 1px) 0% 0% / 10px 10px, linear-gradient(rgba(0, 0, 0, 0.1) 1px, transparent 1px) 0% 0% / 10px 10px; }
.p-event {float: left;height: 300px;width: 300px;border: 1px solid blue;position: relative;margin-left: 20px;
}.dragging1 { border: 1px solid #000; color: #000; }
运行效果都限制在自己设置的元素中不得超出
网格设置 网格宽高为10像素通过 :grid属性控制每次拖拽移动多少像素 :grid:[10, 10]单击组件可显示 句柄 用来调整宽度高度拖拽移动组件可实时保存 水平 垂直 宽度 高度 的数据
注意拖拽后背景变颜色是因为gif录制的原因 