vue指令快速拖拽效果,额外附加3个小功能

Demo预览:

https://sunzsh.github.io/vue-demos/#/drag

代码 / 文件:

https://github.com/sunzsh/vue-el-demo/blob/master/src/views/drag.vue

https://gist.github.com/sunzsh/ddb7c1d129c74222e9235bbdac407766

这是一个绝对定位的容器

今天啊

给大家分享一段可以快速实现

拖拽效果的

vue指令

那用起来很简单

就直接在这加一个 v-drag 就行了

大家看

它就可以拖拽了

这段代码呢也是我在网上找的

然后基于我的需求加了3个功能

我先给大家介绍一下这三个功能

第一个呢

就是我在这啊设置了一个区域

就是当我们把这个容器啊拖拽到

超出这个范围了

那我们就会给这个容器加一个标识

加一个什么标识呢就在这

会多一个dragged

我们有啥用呢我们可以在这加样式

比如说

我让他拖拽走了之后呢

dragged

比如让他变高

比如就200吧

刷新

大家看啊拖拽走变高,放回来他就变矮了

好这是第一个功能

第二个呢就是

有时候啊我们在这里边需要有一个

div的标题

然后呢我先给他加一个背景颜色

加高 20吧

然后呢背景色

大家看我们现在想让他呀

点上面的标题才能拖拽

下边不能拖拽

我们可以直接把这个v-drag

放到这个蓝色的标题上

大家看下面就不能拖拽了

只有上面可以了

那这个的规则就是

我们会顺着这个

v-drag的容器往外层找

找到第一个是position定位的 (口误:absolute)

然后去移动这个

然后第三个功能呢

就是啊我们可以加一个属性

在这这个属性:drag-min-top

它可以设置上面的边界

比如说设置一个

这样的话他往上拖拽的时候

纵坐标不能小于

刷新一下

大家看到这个边缘

就不行了

那关于这个代码呢

我也是放到这个代码片段里了

回头我把这些链接啊什么的

也都会放到

那个按字幕搜索的那个网站里边

最后更新于