vuedraggable组件,用以实现拖拽功能
·
简介:
Draggable为基于Sortable.js的vue组件,用以实现拖拽功能。
特性
支持触摸设备
支持拖拽和选择文本
支持智能滚动
支持不同列表之间的拖拽
不以jQuery为基础
和视图模型同步刷新
和vue2的国度动画兼容
支持撤销操作
当需要完全控制时,可以抛出所有变化
可以和现有的UI组件兼容
操作步骤:
- 安装
1
npm install vuedraggable
2.引入
1
import draggable from ‘vuedraggable’
3.基础用法
定义一个json串 list,实现它的拖拽排序。
<template>
<div>
<!-- 调用组件 -->
<draggable element="ul" v-model="list">
<li v-for="item in list">{{item.name}}</li>
</draggable>
<!-- 输出list数据 -->
{{list}}
</div>
</template>
<script>
// 引入拖拽组件
import draggable from 'vuedraggable'
export default {
name: 'demo',
components: {
//调用组件
draggable,
},
data () {
return {
list:[
{id: 1,name: 'a'},
{id: 2,name: 'b'},
{id: 3,name: 'c'},
{id: 4,name: 'd'},
{id: 5,name: 'e'},
{ id: 6,name: 'f'},
]
}
},
}
</script>
数据原扩展
value和list都可以给一个draggable注入数据源(基本用法中使用的是list的方法)
/*value注入数据源*/
<draggable v-model="list" ></draggable>
export default {
data() {
return {
list:[{
name:'aaa',id:1,
},{
name:'bbb',id:2,
}]
};
}
}
/*list注入数据源头*/
<draggable :list="list" ></draggable>
export default {
data() {
return {
list:[{
name:'aaa',id:1,
},{
name:'bbb',id:2,
}]
};
}
}
区别:
-
代码 :就是 v-model (value注入)和 :list = “list” (list注入)
-
效果 :value注入的,如果发生了拖拽,value的数据并不会跟着变化,
list注入的,数据则会发生变化
也就是说,value注入的,后续有无变化都和数据体没关系,它用于只需要展示拖拽效果的地方;
list注入的,数据体和当前页面上的属性保持一致,页面上的顺序变了,内部数组对应的结构体数组的顺序也会重新排列,和显示的一致
注意:他们不能同时出现,只能二选一
https://www.cnblogs.com/meiyanstar/p/14278789.html
更多推荐



所有评论(0)