vue自定义元素拖动
岗位序列拖动交换岗位
<span
draggable="true"
@dragstart="onDragstart($event,index,index2)"
@dragend="onDragend($event)"
@dragover="onDragover($event)"
@drop="onDrop($event,index,index2)"
slot="reference"
@click="showPositonEdit(sequence,index)"
:class="['el-btn-position',sequence.showNodes.length>=2?'el-btn-position-plus':'',sequence.showItem.showPosTag?'position_tag':'']"
:style="{zIndex:sequence.showItem.highLightIndex?'6':'auto'}"
:title="sequence.showNodes.length>=2?'':sequence.showItem.positionName"
>
{{sequence.showItem.positionName.substring(0,6)}}
<span
v-if="sequence.showNodes.length>=2 && !sequence.showItem.showPosTag"
class="icon_num"
>{{sequence.showNodes.length}}</span>
</span>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// 拖动
onDragstart (e, index, index2) {
this.tempDragObj = {}
this.dragObj.fromMapId = ''
this.dragObj.toGradeId = ''
this.dragObj.toSeriesId = ''
const { pid } = this.queryId(index, index2)
this.dragObj.fromMapId = pid
},
async onDragend (e) {
if (this.dragFlag) {
await movePosition(this.dragObj).catch(e => console.error(e))
await this.getMap(this.id).catch(e => console.error(e))
// 行为日志
let logData = {
method: this.METHOD.MODIFY,
description: this.DESCRIPTION.SINGLE,
referstr1: this.dragObj,
logcontent: '拖拽岗位交换位置'
}
this.sendBehaviorLog(logData)
// this.dragFlag = false
this.$emit('update:dragFlag', false)
}
},
onDragover (e) {
e.preventDefault()
},
onDrop (e, index, index2) {
// this.dragFlag = true
this.$emit('update:dragFlag', true)
const { sequenceId, gradeId } = this.queryId(index, index2)
this.dragObj.toGradeId = gradeId
this.dragObj.toSeriesId = sequenceId
},
vue自定义元素拖动的更多相关文章
- vue自定义指令拖动div
钩子函数一个指令定义对象可以提供如下几个钩子函数:bind:只掉用一次,指令第一次绑定到元素是调用,在这里可以进行一次性的初始化设置inserted:被绑定元素插入父节点时调用(仅保证父节点存在,但不 ...
- vue与自定义元素的关系
你可能已经注意到 Vue.js 组件非常类似于自定义元素--它是 Web 组件规范的一部分.实际上 Vue.js 的组件语法参考了该规范.例如 Vue 组件实现了 Slot API 与 is 特性.但 ...
- vue自定义指令clickoutside扩展--多个元素的并集作为inside
都是个人理解,如果发现错误,恳请大家批评指正,谢谢.还有我说的会比较啰嗦,因为是以自身菜鸡水平的视角来记录学习理解的过程,见谅. 1.前言 产品使用vue+element作为前端框架.在功能开发过程中 ...
- vue指令实现拖动的高级写法
不熟悉vue自定义指令看这里: https://cn.vuejs.org/v2/guide/custom-directive.html vue指令实现拖动方法很方便也挺简单,但是网上大部分的教程代码, ...
- vue自定义指令
Vue自定义指令: Vue.directive('myDr', function (el, binding) { el.onclick =function(){ binding.value(); } ...
- Vue自定义过滤器
gitHub地址: https://github.com/lily1010/vue_learn/tree/master/lesson05 一 自定义过滤器(注册在Vue全局) 注意事项: (1)全局方 ...
- Vue 自定义图片懒加载指令v-lazyload
Vue是可以自定义指令的,最近学习过程中遇见了一个需要图片懒加载的功能,最后参考了别人的代码和思路自己重新写了一遍.以下将详细介绍如何实现自定义指令v-lazyload. 先看如何使用这个指令: &l ...
- vue自定义指令(Directive中的clickoutside.js)的理解
阅读目录 vue自定义指令clickoutside.js的理解 回到顶部 vue自定义指令clickoutside.js的理解 vue自定义指令请看如下博客: vue自定义指令 一般在需要 DOM 操 ...
- vue自定义指令clickoutside使用以及扩展用法
vue自定义指令clickoutside使用以及扩展用法 产品使用vue+element作为前端框架.在功能开发过程中,难免遇到使用element的组件没办法满足特殊的业务需要,需要对其进行定制,例如 ...
随机推荐
- 小程序云函数,解决接口https问题
本实例只是简单记录http请求 1,云函数如下 // 云函数入口函数 exports.main = async (event, context) => { let req = await got ...
- [转帖]Linux教程(14)- Linux中的查找和替换
Linux教程(14)- Linux中的查找和替换 2018-08-22 07:03:58 钱婷婷 阅读数 46更多 分类专栏: Linux教程与操作 Linux教程与使用 版权声明:本文为博主原 ...
- lambda表达式笔记
前几天一位好友分享了一篇文章,其中讲到了lambda表达式,正好最近看了一些内容,就做做笔记吧... lambda表达式服务于函数式接口,如果需要一个函数式接口的对象时,就可以用lambda表达式代替 ...
- Linux04 目录的相关操作(mkdir、rmdir、rm、cp)
一.创建目录:mkdir mkdir 目录名 二.删除目录:rmdir / rm rmdir 目录名 rm -r 目录名 每一级子目录都会询问是否删除 rm -rf 目录名 慎用,给 ...
- Django 自定义表名
class UserInfo(AbstractUser): phone = models.BigIntegerField(null=True, blank=True) create_time = mo ...
- TextField 、 FTE、 TLF 的使用情景和简单说明
作者:tiangej 来源:CSDN 原文:https://blog.csdn.net/tiangej/article/details/16859239 版权声明:本文为博主原创文章,转载请附上博文链 ...
- mysq 连表更新
update table1 a left join table2 b on a.id = b.user_id left join table3 c on a.id = c.user_idset a.p ...
- Python 3 MySQL数据库操作
import pymysql class Mysql_db(): def __init__(self,ip,username,password,db_name,table_name): self.ip ...
- Libev库学习
Libev库学习 https://www.cnblogs.com/wunaozai/p/3950249.html Libev库学习(1)https://www.cnblogs.com/wunaozai ...
- Java 面向对象知识扩展
四种权限修饰符 java有四种权限修饰符:public > protected > (default) > private public protected default pr ...