Element UI 提供了大部分UI控件,但对于拖拽,确实是个短板,于是就需要额外的控件来补充了,即本文档的主角vuedraggable。 从实战角度,以低代码配置功能为例,说明vuedraggable的属性、方法、用法,以及使用过程中遇到的一些坑点及解决方案。 要点如下: group属性的要点 update和sort事件的差别 add事件如何获取数据 如何处理属性重复添加问题 不同列表间拖动group属性无效 实例: 某个业务实体,如用户管理,常见的菜单对应一个列表页面,顶部为页面级功能按钮,如新增、删除、导出等,中间为查询区域,可以放几个常用的查询条件,最下面则是查询结果,以表格形式展现行列数据。查询结果表格的行记录,最后一列放一些针对于该行数据的快捷按钮,如删除、编辑等。 这个配置功能,一方面涉及到元素的排序,如按钮的次序、查询条件的次序、查询结果中列的次序;另一方面涉及到列表间元素的移动,如将实体属性添加到查询列表或查询结果中。如采用传统模式,需要选中某个元素,点击左移、右移等按钮,既不直观,操作也繁琐。而采用拖拽式操作,所见即所得,用户体验大幅提升。 在Vue.js应用中,我们经常需要实现拖拽功能来增强用户体验,特别是在构建低代码平台或者配置界面时。Element UI虽然提供了丰富的UI组件,但对拖拽功能的支持相对较弱。这时,我们可以借助第三方库vuedraggable来实现。vuedraggable是基于Sortable.js的Vue组件,它提供了一套完整的拖拽解决方案,包括触摸设备支持、文本选择、智能滚动、不同列表间的拖放等特性,并且与Vue 2.x的过渡动画兼容。 我们需要安装vuedraggable库。在项目中运行以下命令: ```bash npm install vuedraggable -S ``` 然后,在Vue组件中引入并使用Draggable组件: ```javascript import Draggable from 'vuedraggable'; ``` vuedraggable的核心属性和方法包括: 1. **v-model**: 用于绑定数据,通常是一个数组,表示拖动的元素列表。 2. **group**: 用于设置拖动元素的分组,可以防止不同组间的元素相互干扰。 3. **@sort**: 当元素在组内排序时触发,提供新的元素顺序。 4. **@update**: 在拖放操作结束后触发,无论是否改变了元素顺序,都会触发此事件。 5. **@add**: 当元素添加到列表时触发,可以通过此事件获取新添加的数据。 在实际应用中,例如页面按钮配置场景,我们可以这样设置: ```html {{ item.name }} ``` 在这个例子中,`buttonList`是存储按钮信息的数组,`group`属性定义了拖动分组,`updateSort`和`update`是处理排序和更新的回调函数。`@close`和`@click`事件分别用于删除和修改按钮。 在实际使用中,可能会遇到一些问题,比如元素重复添加和不同列表间拖动group属性无效。为了解决这些问题,我们需要在处理`@add`事件时进行数据校验,确保不添加重复元素。对于group属性无效的问题,通常是因为不同列表间的group值没有正确设置或没有设置。 vuedraggable提供了强大的拖拽功能,可以轻松实现列表排序和元素移动。通过合理利用其属性和事件,我们可以构建出直观易用的界面,提升用户体验。在开发过程中,遇到问题时,可以查阅官方文档或社区资源找到解决方案,确保功能的稳定实现。
2025-06-04 11:11:37 1.41MB vuedraggable
1
C#联合halcon开发框架源码。 拖拽式编程,无halcon基础也能上手,匹配,测量,条码识别,ocr,定位引导,对位等,支持plc通讯,集成主流相机sdk,系统集成.
2024-03-22 20:16:11 2.51MB 编程语言
1
web拖拽式表单设计器Formbuild是强大的在线WEB表单设计器,它通常在、OA系统、问卷调查系统、考试系统、等领域发挥着重要作用,你可以在此基础上自定义修改使功能无限强大!
2023-11-30 17:42:08 256KB 拖拽式表单设计器
1
App Inventor 是一种基于云的工具,这意味着您可以直接在 Web 浏览器中为 Android 或 iOS 设备构建应用程序。该网站提供您学习如何构建自己的应用程序所需的所有支持。在ai2.appinventor.mit.edu 上访问它。您可以通过单击橙色的“创建应用程序!”到达那里。本网站任何页面上的按钮。 设置说明:设置您的手机或平板电脑进行实时测试(或者,如果您没有移动设备,请启动模拟器) 设计器和块编辑器概述:设计器和块编辑器概述:浏览 App Inventor 环境 初学者教程:进入并开始在 App Inventor 中编程 打包和共享应用程序:打包您的应用程序并与您的朋友分享
2022-11-12 21:02:46 315.61MB AppInventor 软件编程 轻量化 拖拽式
1
为您提供VvvebJs拖拽式自动生成网页下载,VvvebJs是一个开源的网页拖拽自动生成的JavaScript库,你可以以简单拖拽的方式生成自己需要的网页样式,内置jquery和Bootstrap,你可以拖拽相关的组件进行网页的构建,非常的方便,而且可以实时修改代码,功能丰富,使用简单,界面友好,特别适合一些专注于展示的网页设计。相关特性:组件和块/片段拖放。撤消/重做操作。一两个面板界面。文件管理器和组件层次结构导航。添加新页面。实时代码编
1
HTML基于vue2.0,拖拽式网站设计器、大屏设计器,基于VUE,实现拖拽 + 配置方式生成数据大屏,为简化开发、提高效率而生。 特性 0 代码: 实现完全拖拽 + 配置式生成大屏,设计即生产。 快速开发&部署: 项目采用行业流行架构:SpringBoot+Vue,开发\部署方便。 组件丰富: 内置element、dataV、echarts等优秀开源的报表常用组件,满足基本的设计需求。 自定义: 设计器没有想要的组件?自己动手,丰衣足食。详细文档介绍5分钟可开发一个自己想要的组件。 特性 0 代码: 实现完全拖拽 + 配置式生成大屏,设计即生产。 快速开发&部署: 项目采用行业流行架构:SpringBoot+Vue,开发\部署方便。 组件丰富: 内置element、dataV、echarts等优秀开源的报表常用组件,满足基本的设计需求。 自定义: 设计器没有想要的组件?自己动手,丰衣足食。详细文档介绍5分钟可开发一个自己想要的组件。
一、实现的功能 1、基于oop思想构建,支持坐标点、线条(由坐标点组成,包含方向)、多边形(由多个坐标点组成)、圆形(包含圆心坐标点和半径)等实体 2、原生JavaScript实现,不依赖任何第三方js库和插件 3、多图形绘制(支持画笔、线条、箭头、三角形、矩形、平行四边形、梯形以及多边形和圆形绘制) 4、拖拽式绘制(鼠标移动过程中不断进行canvas重绘) 5、图片绘制(作为背景图片时重绘会发生闪烁现象,暂时有点问题,后面继续完善) 5、清空绘制功能 6、新版本优化绘制性能(使用共享坐标变量数组,减少了大量的对象创建操作) 7、新版本支持箭头绘制功能 二、完整实现代码 DrawingToo
2022-05-05 14:11:25 88KB AS canvas js
1
bloclyDrag 前端积木编程与拖拽式布局
2022-04-16 11:56:48 3.57MB JavaScript
1
演示地址:http://divi.admin122.com 某宝上价值10元的资源分享,DIVI主题wordpress整站带演示数据打包 自适应 拖拽式修改 大气企业外贸网站源码。
2022-03-10 16:04:15 196B wordpress wordpress主题
1
通过拖放的方式创建表单jQuery formBuilder,基于jQuery formBuilder 略作修改,
2021-12-26 08:06:40 348KB 自定义表单
1