<p align="center"><img width="140"src="https://raw.githubusercontent.com/SortableJS/Vue.Draggable/master/logo.svg?sanitize=true"></p>
<h1 align="center">vue.draggable.next</h1>
[![CircleCI](https://circleci.com/gh/SortableJS/vue.draggable.next.svg?style=shield)](https://circleci.com/gh/SortableJS/Vue.Draggable)
[![Coverage](https://codecov.io/gh/SortableJS/vue.draggable.next/branch/master/graph/badge.svg)](https://codecov.io/gh/SortableJS/Vue.Draggable)
[![codebeat badge](https://codebeat.co/badges/7a6c27c8-2d0b-47b9-af55-c2eea966e713)](https://codebeat.co/projects/github-com-sortablejs-vue-draggable-master)
[![GitHub open issues](https://img.shields.io/github/issues/SortableJS/vue.draggable.next.svg)](https://github.com/SortableJS/Vue.Draggable/issues?q=is%3Aopen+is%3Aissue)
[![npm download](https://img.shields.io/npm/dt/vuedraggable.svg?maxAge=30)](https://www.npmjs.com/package/vuedraggable)
[![npm download per month](https://img.shields.io/npm/dm/vuedraggable.svg)](https://www.npmjs.com/package/vuedraggable)
[![npm version](https://img.shields.io/npm/v/vuedraggable/next.svg)](https://www.npmjs.com/package/vuedraggable/v/next)
[![MIT License](https://img.shields.io/github/license/SortableJS/vue.draggable.next.svg)](https://github.com/SortableJS/vue.draggable.next/blob/master/LICENSE)
Vue component (Vue.js 3.0) allowing drag-and-drop and synchronization with view model array.
For Vue 2 and Vue 1 version check: https://github.com/SortableJS/Vue.Draggable
Based on and offering all features of [Sortable.js](https://github.com/RubaXa/Sortable)
## Demo
![demo gif](https://raw.githubusercontent.com/SortableJS/vue.draggable.next/master/example.gif)
## Live Demos
https://sortablejs.github.io/vue.draggable.next/
## Features
* Full support of [Sortable.js](https://github.com/RubaXa/Sortable) features:
* Supports touch devices
* Supports drag handles and selectable text
* Smart auto-scrolling
* Support drag and drop between different lists
* No jQuery dependency
* Keeps in sync HTML and view model list
* Compatible with Vue.js 3.0 transition-group
* Cancellation support
* Events reporting any changes when full control is needed
* Reuse existing UI library components (such as [vuetify](https://vuetifyjs.com), [element](http://element.eleme.io/), or [vue material](https://vuematerial.io) etc...) and make them draggable using `tag` and `componentData` props
## Donate
Find this project useful? You can buy me a :coffee: or a :beer:
[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=GYAEKQZJ4FQT2¤cy_code=USD&source=url)
## Installation
### With npm or yarn
```bash
yarn add vuedraggable@next
npm i -S vuedraggable@next
```
### with direct link
```html
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/3.0.2/vue.min.js"></script>
<!-- CDNJS :: Sortable (https://cdnjs.com/) -->
<script src="//cdn.jsdelivr.net/npm/sortablejs@1.10.2/Sortable.min.js"></script>
<!-- CDNJS :: Vue.Draggable (https://cdnjs.com/) -->
<script src="//cdnjs.cloudflare.com/ajax/libs/Vue.Draggable/4.0.0/vuedraggable.umd.min.js"></script>
```
[cf example section](https://github.com/SortableJS/Vue.Draggable/tree/master/example)
## Typical use:
``` html
<draggable
v-model="myArray"
group="people"
@start="drag=true"
@end="drag=false"
item-key="id">
<template #item="{element}">
<div>{{element.name}}</div>
</template>
</draggable>
```
``` js
import draggable from 'vuedraggable'
...
export default {
components: {
draggable,
},
data() {
return {
drag: false,
}
},
...
```
The `item` slot should be used to display items of the list. It receives the element value and the element index as slot-props.
### With `transition-group`:
``` html
<draggable v-model="myArray" tag="transition-group" item-key="id">
<template #item="{element}">
<div> {{element.name}} </div>
</template>
</draggable>
```
### With footer slot:
``` html
<draggable v-model="myArray" item-key="id">
<template #item="{element}">
<div> {{element.name}} </div>
</template>
<template #footer>
<button @click="addPeople">Add</button>
</template>
</draggable>
```
### With header slot:
``` html
<draggable v-model="myArray" item-key="id">
<template #item="{element}">
<div> {{element.name}} </div>
</template>
<template #header>
<button @click="addPeople">Add</button>
</template>
</draggable>
```
### With Vuex:
```html
<draggable v-model='myList'>
```
```javascript
computed: {
myList: {
get() {
return this.$store.state.myList
},
set(value) {
this.$store.commit('updateList', value)
}
}
}
```
### Migrate from vue 2 version:
Breaking changes:
1) Use `item` slot instead of default to display elements
2) Provide a key for items using `itemKey` props
From:
``` html
<!-- vue 2 version -->
<draggable v-model="myArray">
<div v-for="element in myArray" :key="element.id">{{element.name}}</div>
</draggable>
```
To:
``` html
<draggable v-model="myArray" item-key="id">
<template #item="{element}">
<div>{{element.name}}</div>
</template>
</draggable>
```
Breaking changes:
3) When using transition, you should now use the `tag` props and `componentData` to create the transition
From
``` html
<!-- vue 2 version -->
<draggable v-model="myArray">
<transition-group name="fade">
<div v-for="element in myArray" :key="element.id">
{{element.name}}
</div>
</transition-group>
</draggable>
```
to
``` html
<draggable v-model="myArray" tag="transition-group" :component-data="{name:'fade'}">
<template #item="{element}">
<div>{{element.name}}</div>
</template>
</draggable>
```
### Props
#### modelValue
Type: `Array`<br>
Required: `false`<br>
Default: `null`
Input array to draggable component. Typically same array as referenced by inner element v-for directive.<br>
This is the preferred way to use Vue.draggable as it is compatible with Vuex.<br>
It should not be used directly but only though the `v-model` directive:
```html
<draggable v-model="myArray">
```
#### list
Type: `Array`<br>
Required: `false`<br>
Default: `null`
Alternative to the `modelValue` prop, list is an array to be synchronized with drag-and-drop.<br>
The main difference is that `list` prop is updated by draggable component using splice method, whereas `modelValue` is immutable.<br>
**Do not use in conjunction with modelValue prop.**
#### itemKey
Type: `String` or `Function`<br>
Required: `true`<br>
The property to be used as the element key. Alternatively a function receiving an element of the list and returning its key.
#### All sortable options
Sortable options can be set directly as vue.draggable props since version 2.19.
This means that all [sortable option](https://github.com/RubaXa/Sortable#options) are valid sortable props with the notable exception of all the method starting by "on" as draggable component expose the same API via events.
kebab-case property are supported: for example `ghost-class` props will be converted to `ghostClass` sortable option.
Example setting handle, sortable and a group option:
```HTML
<draggable
v-model="list"
handle=".handle"
:group="{ name: 'people', pull: 'clone', put: false }"
ghost-class="ghost"
:sort="false"
@change="log"
>
<!-- -->
</draggable>
```
#### tag
Type: `String`<br>
Default: `'div'`
HTML node type of the element that draggable component create as outer element for the included slot.<br>
It is also possible to pass the name of vue component as element. In this case, draggable attribute will be passed to the create component.<br>
See also [componentData](#componentdata) if you need to set props or event to the created component.
#### clone
Type: `Function`<br>
Required: `false`<br>
D
没有合适的资源?快使用搜索试试~ 我知道了~
tony/RuoYi-flowable Vue3版本全套代码
共1038个文件
java:313个
vue:298个
svg:148个
3星 · 超过75%的资源 需积分: 5 115 下载量 38 浏览量
2023-04-11
14:07:09
上传
评论 9
收藏 9.87MB ZIP 举报
温馨提示
tony/RuoYi-flowable开源版本是基于vue2的项目,后来由于项目开发需要,采购了Vue3的版本,现在将资源共享。使用方法可以参考https://gitee.com/tony2y/RuoYi-flowable
资源推荐
资源详情
资源评论
收起资源包目录
tony/RuoYi-flowable Vue3版本全套代码 (1038个子文件)
ry.bat 2KB
run.bat 242B
package.bat 156B
package.bat 152B
build.bat 117B
clean.bat 113B
run-web.bat 112B
designer.style.css 148KB
iconfont.css 480B
.env.development 176B
若依环境使用手册.docx 418KB
.DS_Store 8KB
.DS_Store 8KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
iconfont.eot 2KB
401.gif 160KB
.gitignore 702B
.gitignore 257B
.gitignore 128B
ie.html 23KB
index.html 5KB
index.html 343B
favicon.ico 6KB
favicon.ico 4KB
FlowTaskServiceImpl.java 61KB
ExcelUtil.java 59KB
FlowableUtils.java 31KB
Convert.java 26KB
HTMLFilter.java 20KB
GenTableServiceImpl.java 17KB
CustomProcessDiagramGenerator.java 17KB
StringUtils.java 16KB
SysUserServiceImpl.java 15KB
UUID.java 15KB
CustomProcessDiagramCanvas.java 15KB
SysMenuServiceImpl.java 15KB
ReflectUtils.java 15KB
VelocityUtils.java 14KB
SysRoleServiceImpl.java 11KB
IpUtils.java 11KB
FindNextNodeUtil.java 10KB
FlowDefinitionServiceImpl.java 10KB
FlowTaskController.java 10KB
SysDeptServiceImpl.java 10KB
HttpUtils.java 10KB
SysUserController.java 9KB
Base64.java 9KB
SysRoleController.java 9KB
LogAspect.java 9KB
FileUtils.java 9KB
GenUtils.java 8KB
GenTableColumn.java 8KB
GenTable.java 8KB
FlowDefinitionController.java 8KB
FileUploadUtils.java 7KB
SysJobController.java 7KB
GenController.java 7KB
SysJobServiceImpl.java 7KB
SysUser.java 7KB
SysLoginService.java 7KB
RedisCache.java 7KB
Server.java 6KB
SysConfigServiceImpl.java 6KB
TokenService.java 6KB
SysDictTypeServiceImpl.java 6KB
SecurityConfig.java 6KB
CommonController.java 6KB
SysRole.java 6KB
BaseController.java 6KB
DataScopeAspect.java 6KB
JobInvokeUtil.java 6KB
SysMenu.java 6KB
SysOperLog.java 6KB
ServletUtils.java 6KB
MyBatisConfig.java 5KB
TestController.java 5KB
DictUtils.java 5KB
SysProfileController.java 5KB
ScheduleUtils.java 5KB
DateUtils.java 5KB
SysMenuController.java 5KB
PermissionService.java 5KB
SysDeptController.java 5KB
DruidConfig.java 5KB
CacheController.java 5KB
LoginUser.java 5KB
SysJob.java 5KB
SwaggerConfig.java 5KB
共 1038 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
- lvshijin2023-11-02有不少问题呀
bacawa
- 粉丝: 8384
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- QuestionTwo.java
- QuestionOne.java
- OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).rar
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 南京邮电大学数学实验:熟练掌握 Matlab 软件的基本命令和操作
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 2017校招真题校园招聘真题算法题(37道)Python源码.zip
- 基于单片机protues仿真的多功能自动饮水机系统设计(仿真图、源代码、演示视频)
- 论文《一种修复流程挖掘事件日志中缺失活动标签的深度学习方法》翻译
- 智慧电厂相关资料发电控制的方式
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功