放置 Droppable
示例
基本形式
<draggable value="success"><div class="u-color u-color-success">拖我</div></draggable>
<draggable value="warning"><div class="u-color u-color-warning">拖我</div></draggable>
<draggable value="error"><div class="u-color u-color-error">拖我</div></draggable>
<p></p>
<droppable value={dropData}><div class="u-color u-color-{dropData || 'primary'}">放到这里</div></droppable>
事件
请打开浏览器的控制台查看结果。
<draggable value="success"
on-dragstart={console.log('on-dragstart:', '$event:', $event)}
on-dragend={console.log('on-dragend:', '$event:', $event)}>
<div class="u-color u-color-success">拖我</div>
</draggable>
<droppable value={dropData}
on-dragenter={console.log('on-dragenter:', '$event:', $event)}
on-dragleave={console.log('on-dragleave:', '$event:', $event)}
on-drop={console.log('on-drop:', '$event:', $event)}>
<div class="u-color u-color-{dropData || 'primary'}">放到这里</div>
</droppable>
API
Class
Droppable
继承自。
Options
new Droppable()
参数 | 类型 | 默认值 | 数据流向 | 描述 |
---|---|---|---|---|
data | Object | 绑定属性 | ||
data.value | var | outside <= inside | 拖放后传递过来的值 | |
data.disabled | boolean | false | outside => inside | 是否禁用 |
data.class | string | 'z-droppable' | outside => inside | 可放置时(即disabled=false)给元素附加此class |
data.dragTarget | string | 'z-dragTarget' | outside => inside | 拖拽在该元素上方时给该元素附加此class |
Events
droppable.$on('dragenter')
拖拽进入该元素时触发
属性 | 类型 | 描述 |
---|---|---|
sender | object | 事件发送对象,为当前droppable |
origin | object | 拖拽源,为拖拽的draggable |
source | object | 拖拽起始元素 |
proxy | object | 拖拽代理元素 |
target | object | 拖拽目标元素 |
value | object | 拖拽时接收到的值 |
screenX | number | 鼠标指针相对于屏幕的水平位置 |
screenY | number | 鼠标指针相对于屏幕的垂直位置 |
clientX | number | 鼠标指针相对于浏览器的水平位置 |
clientY | number | 鼠标指针相对于浏览器的垂直位置 |
pageX | number | 鼠标指针相对于页面的水平位置 |
pageY | number | 鼠标指针相对于页面的垂直位置 |
startX | number | 拖拽开始时鼠标指针的水平坐标 |
startY | number | 拖拽开始时鼠标指针的垂直坐标 |
dragX | number | 拖拽时鼠标指针相对于起始坐标的水平位移 |
dragY | number | 拖拽时鼠标指针相对于起始坐标的垂直位移 |
startLeft | number | 拖拽开始时代理元素的left值 |
startTop | number | 拖拽开始时代理元素的top值 |
left | number | 拖拽时代理元素的left值 |
top | number | 拖拽时代理元素的top值 |
cancel | function | 取消拖拽操作 |
droppable.$on('dragleave')
拖拽离开该元素时触发
属性 | 类型 | 描述 |
---|---|---|
sender | object | 事件发送对象,为当前droppable |
origin | object | 拖拽源,为拖拽的draggable |
source | object | 拖拽起始元素 |
proxy | object | 拖拽代理元素 |
target | object | 拖拽目标元素 |
value | object | 拖拽时接收到的值 |
screenX | number | 鼠标指针相对于屏幕的水平位置 |
screenY | number | 鼠标指针相对于屏幕的垂直位置 |
clientX | number | 鼠标指针相对于浏览器的水平位置 |
clientY | number | 鼠标指针相对于浏览器的垂直位置 |
pageX | number | 鼠标指针相对于页面的水平位置 |
pageY | number | 鼠标指针相对于页面的垂直位置 |
startX | number | 拖拽开始时鼠标指针的水平坐标 |
startY | number | 拖拽开始时鼠标指针的垂直坐标 |
dragX | number | 拖拽时鼠标指针相对于起始坐标的水平位移 |
dragY | number | 拖拽时鼠标指针相对于起始坐标的垂直位移 |
startLeft | number | 拖拽开始时代理元素的left值 |
startTop | number | 拖拽开始时代理元素的top值 |
left | number | 拖拽时代理元素的left值 |
top | number | 拖拽时代理元素的top值 |
cancel | function | 取消拖拽操作 |
droppable.$on('dragover')
拖拽在该元素上方时触发
属性 | 类型 | 描述 |
---|---|---|
sender | object | 事件发送对象,为当前droppable |
origin | object | 拖拽源,为拖拽的draggable |
source | object | 拖拽起始元素 |
proxy | object | 拖拽代理元素 |
target | object | 拖拽目标元素 |
value | object | 拖拽时接收到的值 |
ratioX | number | 鼠标指针相对于接收元素所占的长度比 |
ratioY | number | 鼠标指针相对于接收元素所占的高度比 |
screenX | number | 鼠标指针相对于屏幕的水平位置 |
screenY | number | 鼠标指针相对于屏幕的垂直位置 |
clientX | number | 鼠标指针相对于浏览器的水平位置 |
clientY | number | 鼠标指针相对于浏览器的垂直位置 |
pageX | number | 鼠标指针相对于页面的水平位置 |
pageY | number | 鼠标指针相对于页面的垂直位置 |
startX | number | 拖拽开始时鼠标指针的水平坐标 |
startY | number | 拖拽开始时鼠标指针的垂直坐标 |
dragX | number | 拖拽时鼠标指针相对于起始坐标的水平位移 |
dragY | number | 拖拽时鼠标指针相对于起始坐标的垂直位移 |
startLeft | number | 拖拽开始时代理元素的left值 |
startTop | number | 拖拽开始时代理元素的top值 |
left | number | 拖拽时代理元素的left值 |
top | number | 拖拽时代理元素的top值 |
cancel | function | 取消拖拽操作 |
droppable.$on('drop')
拖拽放置时触发
属性 | 类型 | 描述 |
---|---|---|
sender | object | 事件发送对象,为当前droppable |
origin | object | 拖拽源,为拖拽的draggable |
source | object | 拖拽起始元素 |
proxy | object | 拖拽代理元素 |
target | object | 拖拽目标元素 |
value | object | 拖拽时接收到的值 |
ratioX | number | 鼠标指针相对于接收元素所占的长度比 |
ratioY | number | 鼠标指针相对于接收元素所占的高度比 |
screenX | number | 鼠标指针相对于屏幕的水平位置 |
screenY | number | 鼠标指针相对于屏幕的垂直位置 |
clientX | number | 鼠标指针相对于浏览器的水平位置 |
clientY | number | 鼠标指针相对于浏览器的垂直位置 |
pageX | number | 鼠标指针相对于页面的水平位置 |
pageY | number | 鼠标指针相对于页面的垂直位置 |
startX | number | 拖拽开始时鼠标指针的水平坐标 |
startY | number | 拖拽开始时鼠标指针的垂直坐标 |
dragX | number | 拖拽时鼠标指针相对于起始坐标的水平位移 |
dragY | number | 拖拽时鼠标指针相对于起始坐标的垂直位移 |
startLeft | number | 拖拽开始时代理元素的left值 |
startTop | number | 拖拽开始时代理元素的top值 |
left | number | 拖拽时代理元素的left值 |
top | number | 拖拽时代理元素的top值 |