index.html
<script src="//cdn.jsdelivr.net/npm/sortablejs@1.8.4/Sortable.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/Vue.Draggable/2.20.0/vuedraggable.umd.min.js"></script>
build文件夹webpack.base.conf.js
externals: {
'Sortable': 'Sortable',
'one': 'vuedraggable',
import draggable from 'vuedraggable'
<draggable :options="{group:'people',animation:150,ghostClass:'sortable-ghost',chosenClass:'chosenClass',scroll:true,scrollSensitivity:200}"
v-model="list2"
@change="change"
@start="start"
@end="end"
:move="move"
style="display: inline-block; width:190px;height: 200px;background: #eee;overflow: auto">
<li v-for="(item, index) in list2"
:class="setclass(item,index)"
:key="index">
{{item.name}}
</draggable>
change: function (evt) {
console.log(evt)
start: function (evt) {
console.log(evt)
end: function (evt) {
console.log(evt)
evt.item
evt.to
evt.from
evt.oldIndex
evt.newIndex
move: function (evt, originalEvent) {
console.log(evt)
console.log(originalEvent)
group: "name",
sort: true,
delay: 0,
touchStartThreshold: 0,
disabled: false,
store: null,
animation: 150,
handle: ".my-handle",
filter: ".ignore-elements",
preventOnFilter: true,
draggable: ".item",
ghostClass: "sortable-ghost",
chosenClass: "sortable-chosen",
dragClass: "sortable-drag",
dataIdAttr: 'data-id',
forceFallback: false,
fallbackClass: "sortable-fallback",
fallbackOnBody: false,
fallbackTolerance: 0,
scroll: true,
scrollFn: function(offsetX, offsetY, originalEvent, touchEvt, hoverTargetEl) { ... },
scrollSensitivity: 30,
scrollSpeed: 10,
slot
使用footer插槽在vuedraggable组件内添加不可拖动的元素。重要:它应该与可拖动选项一起使用,以标记可拖拽元素。注意,在默认情况下,页脚槽将始终被添加
<draggable v-model="myArray" :options="{draggable:'.item'}">
<div v-for="element in myArray" :key="element.id" class="item">
{{element.name}}
</div>
<button slot="footer" @click="addPeople">Add</button>
</draggable>
详情参考:
Vue.Draggablehttps://github.com/SortableJS/Vue.Draggable
Sortablehttps://github.com/RubaXa/Sortable
安装npm i -S vuedraggablecdn引入index.html<script src="//cdn.jsdelivr.net/npm/sortablejs@1.8.4/Sortable.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/Vue.Draggabl...
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.5.2/vue.min.js"></script>
<!-- CDNJS :: Sortable (https://cdnjs.com/) -->
<script src="//cdn.jsdeli...
经测试,Sortable.js 兼容好和使用方便都是比较不错的,特别手机端使用很棒
Sortable.js是一款轻量级的拖放排序列表的js插件(虽然体积小,但是功能很强大)下载地址:https://github.com/RubaXa/Sor...官方DEMO:http://sortablejs.github.io/Sortable
支持触屏设备和大部分浏览器(IE...
最近在做关于后台管理的项目,后台模板基础框架使用的是layui前端框架http://www.layui.com/。layui的表格渲染还是蛮好用的但是无法使用jQuery UI里的排序功能。下面是一个完美契合layui表格行拖动的插件,复制粘贴引入到jQuery文件的下方就可以使用
* Sortable
* @author RubaXa <trash@rub...
这是大佬的博客 https://blog.csdn.net/zjiang1994/article/details/79809687
里面对vue.draggable的一些方法和属性,进行了详解,非常的详细,比官网的还要详细哦!给大佬点赞!!!
这是vue.draggable的官网 https://www.itxst.com/vue-draggable/jirneq6b.html
如图,想要实现这样的效果,左侧列表有一堆框框,要把左侧的列表拖拽到右侧列表,然后就去了官网
官网列子 未拖拽之前是这样的
录屏软件:screenToGif (将视频转为Gif,我认为简单又好操作)
我深知,文字的感知不如图片,图片的感知不如视频,所以希望在每一次的记录中,都有种收货与喜悦,虽然以前用过这个插件,相当强大的插件,但第一次从0到1,所以记录美好时刻~
1.多列之间想要互相拖动
要有相同的name,如:name:'site'
2.多列直接想要拷贝,不移除