今天给大家分享一个功能超强的自由拖拽排序组件VueSlicksort。
vue-slicksort 一款功能强大的可拖拽的vue.js组件。拥有丝滑般拖拽动画效果,支持水平/垂直/网格拖拽排序。还可以自动滚动、锁定坐标系,并支持触摸。
代码片段
<SlickList :lockToContainerEdges="true"
:pressDelay="300"
v-model="appitems"
helperClass="helperClass"class="ul"
axis="xy"
>
<SlickItem v-for="(item,index) in appitems" :index="index" :key="index" class="li">
<div :class="{'add-border':isEditMenus}" class="app-border" @click="toApp(item)">
<img :src="item.menuIcon" class="app-icon">
<p>{{ item.menuName }}</p>
<img v-if="isEditMenus" src="@/assets/del.png" class="del" @click.stop="delApp(item,index)">
</div>
</SlickItem>
</SlickList>
<div class="notice">以上应用展示在首页</div>
安装
$ npm i vue-slicksort -S
插件使用
<template><div class="slicksort-wrap"><!-- 拖拽 --><SlickList:lockToContainerEdges="true"lockAxis="y"v-model="items"
@input="getChangeLists"
>
<SlickItem v-for="(item, index) in items" :index="index" :key="index">
{{ item }}
</SlickItem></SlickList></div>
</template>
<script>
import { SlickList, SlickItem } from "vue-slicksort";
export default {
components: {
SlickItem,
SlickList
},
data() {
return {
items: ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5', 'Item 6', 'Item 7', 'Item 8']
};
},
methods: {
getChangeLists(vals) {
// 拖拽完成后返回被打乱后的顺序console.log(vals);
}
}
};
</script>
组件参数
组件事件
提供各种演示示例,让拖拽排序变得如此简单。
贴上示例地址及仓库地址
# 预览地址
https://jexordexan.github.io/vue-slicksort/
# github地址
https://github.com/Jexordexan/vue-slicksort
好了,就分享到这里。感兴趣的小伙伴可以去尝试下哈。如果觉得对你有帮助可以给个赞或转发,谢谢支持!