VUE 元素拖拽、移动
元素拖拽
作者:一粒尘土 时间:2019-10-30
使用范围:两个元素位置交换,移动元素到指定位置
涉及函数
| 属性 | 解释 |
|---|---|
| draggable | 是否允许元素进行拖拽 |
| dragstart | 拖拽开始触发的函数,可在此获取元素 |
| dragover | 在目标元素内进行拖动时触发的函数 |
| dragenter | 当拖拽进入目标元素时出发的函数 |
| dragend | 拖拽结束 |
快速熟悉上边表格的知识点,然后结合如下的小demo进行加深记忆
html
<div
:key="imgIdx"
v-for="(img, imgIdx) in result"
:style="'background-image: url('+img.gallery_image_url+');'"
class="dib wi-17x ht-11x bdr-3 centerimage mr-14 mb-14 pr of-h hover-item graylight-bg"
:draggable="allowHandle"
@dragenter="dragEnter($event, img)"
@dragend="dragEnd($event, img)">
</div>
js
data () {
return {
drawTargetEle: {}
}
},
methods: {
/**
* 推拽开始,解决火狐无法拖拽情况
*/
dragStart (e, item) {
if (this.allowHandle) {
e.dataTransfer.setData('aaa', null)
}
},
/**
* 拖拽元素至目标元素内时触发
* @item 目标元素
* @info 可在此处获取,拖拽元素的一系列属性
*/
dragEnter (e, item) {
if (this.allowHandle) {
// 获取推拽的目标元素
this.drawTargetEle = item
}
},
/**
* 拖拽完成之后触发
* @item 目标元素
* @info 可在此处获取,拖拽元素的目标元素一系列属性
*/
dragEnd (e, item) {
console.log(item)
/**
* 进行拖拽完成的操作
*/
},
}
注解
- 另外如需有需监听元素的拖拽情况,可调用对应的函数即可。
- 如果不允许拖动到该元素区域内,可在dragover、dragenter中设置dropEffect:none;禁止拖拽。
欢迎大家关注我的微信公众号,一起学习一起进步
代码小书生
VUE 元素拖拽、移动的更多相关文章
- vue全局自定义指令-元素拖拽
小白我用的是vue-cli的全家桶,在标签中加入v-drap则实现元素拖拽, 全局指令我是写在main.js中 Vue.directive('drag', { inserted: function ( ...
- 基于Vue实现拖拽效果
参考地址:基于Vue实现拖拽效果 参考链接中讲的比较详细,我只使用了其中自定义指令的方法.整体代码如下: <template> <!-- 卡片 --> <div clas ...
- Vue 可拖拽组件 Vue Smooth DnD 详解和应用演示
本文发布自 https://www.cnblogs.com/wenruo/p/15061907.html 转载请注明出处. 简介和 Demo 展示 最近需要有个拖拽列表的需求,发现一个简单好用的 Vu ...
- Selenium - 实现网页元素拖拽
Drag and Drop, 使用鼠标实现元素拖拽的操作貌似很复杂, 在Selenium中, 借助OpenQA.Selenium.Interactions.Actions类库中提供的方法, 实现起来还 ...
- Js元素拖拽功能实现
Js元素拖拽功能实现 需要解决的问题 最近项目遇到了一个问题,就是用户某个操作需要弹出一个自定义的内容输入框,但是有个缺点,当浏览太大的时候没办法点击确认和取消按钮,应为这个弹出框是采用绝对定位的,取 ...
- WPF中元素拖拽的两个实例
今天结合之前做过的一些拖拽的例子来对这个方面进行一些总结,这里主要用两个例子来说明在WPF中如何使用拖拽进行操作,元素拖拽是一个常见的操作,第一个拖拽的例子是将ListBox中的子元素拖拽到ListV ...
- Selenium WebDriver-通过ActionChains实现页面元素拖拽
#encoding=utf-8 import unittest import time import chardet from selenium import webdriver class Visi ...
- html5的元素拖拽
今天学习了妙味课堂的课程: 在html5中有支持元素拖拽的一些属性和方法: 一些实例代码如下: <div id="div1"></div> <ul&g ...
- vue内容拖拽放大缩小
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- Flutter和原生交互学习
PlatformChannel功能简介 PlatformChannel分为BasicMessageChannel.MethodChannel以及EventChannel三种.其各自的主要用途如下: B ...
- flutter DateTime日期&时间选择器
import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; import 'dart:async'; class ...
- shell编程系列25--shell操作数据库实战之备份MySQL数据,并通过FTP将其传输到远端主机
shell编程系列25--shell操作数据库实战之备份MySQL数据,并通过FTP将其传输到远端主机 备份mysql中的库或者表 mysqldump 常用参数详解: -u 用户名 -p 密码 -h ...
- DbSet.Attach(实体)与DbContext.Entry(实体).State = EntityState.Modified 区别
当你使用这个DbSet.Update方法时,实体框架将你实体的所有属性标记为EntityState.Modified,所以跟踪它们.如果你只想更改部分属性,而不是全部属性,请使用DbSet.Attac ...
- Objective-C轻量级泛型
在Apple发布Xcode7的时候,不仅把Swift编程语言升级到了2.0版本,而且还对Objective-C做了许多提升,包括引入__nonnull/__nullable.其中,对于Objectiv ...
- Python3基础 交换两个变量的值
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- 深入学习c++--容器
1. 简介 1. 序列式容器: array, vector, deque, list, forward_list --- 数组 或者 指针实现 2. 关联容器: set, map, multiset, ...
- Qt编写自定义控件69-代码行数统计
一.前言 代码行数统计主要用来统计项目中的所有文件的代码行数,其中包括空行.注释行.代码行,可以指定过滤拓展名,比如只想统计.cpp的文件,也可以指定文件或者指定目录进行统计.写完这个工具第一件事情就 ...
- 报错:java.lang.AbstractMethodError: nl.techop.kafka.KafkaHttpMetricsReporter.logger()Lcom/typesafe/scalalogging/Logger;
报错背景: CDH启动kafka的时候出现报错情况,并且报错的节点挂掉. 报错现象: Exiting Kafka due to fatal exception java.lang.AbstractMe ...
- 常用OID(SNMP)
系统参数(1.3.6.1.2.1.1) OID 描述 备注 请求方式 .1.3.6.1.2.1.1.1.0 获取系统基本信息 SysDesc GET .1.3.6.1.2.1.1.3.0 监控时间 s ...