当前位置: 首页 > news >正文

使用 vxe gantt 实现行拖拽排序

在项目管理或任务调度类应用中,允许用户通过拖拽调整任务的顺序是一项非常实用的交互功能。VXE Gantt 组件提供了简单易用的行拖拽排序支持,只需配置 rowConfig.drag 和列属性 dragSort 即可快速启用。

说明

  1. 甘特图全局配置 rowConfig.drag 开启行拖拽功能,允许用户通过鼠标拖动调整行的顺序
  2. 指定列的配置中 dragSort 标识该列可作为拖拽排序的“把手”,通常建议将 dragSort: true 设置在第一列或专门的序号/标题列上

rowConfig.drag 控制是否允许拖拽行,而 dragSort 控制哪一列可以触发拖拽。二者必须同时启用,拖拽排序才会生效。

代码

<template><div><vxe-buttonstatus="success"@click="resultEvent">获取排序后的数据</vxe-button><vxe-ganttref="ganttRef"v-bind="ganttOptions"></vxe-gantt></div></template><scriptsetup>import{ref,reactive}from'vue'constganttRef=ref()constganttOptions=reactive({border:true,// 1. 开启行拖拽rowConfig:{drag:true},taskBarConfig:{showProgress:true,showContent:true,barStyle:{round:true,bgColor:'#f56565',completedBgColor:'#65c16f'}},taskViewConfig:{tableStyle:{width:480}},columns:[{type:'seq',width:70},// 序号列,不参与拖拽{field:'title',title:'任务名称',dragSort:true},// 2. 指定拖拽把手列{field:'start',title:'开始时间',width:100},{field:'end',title:'结束时间',width:100}],data:[{id:10001,title:'A项目',start:'2024-03-01',end:'2024-03-04',progress:3},{id:10002,title:'城市道路修理进度',start:'2024-03-03',end:'2024-03-08',progress:10},{id:10003,title:'B大工程',start:'2024-03-03',end:'2024-03-11',progress:90},{id:10004,title:'超级大工程',start:'2024-03-05',end:'2024-03-11',progress:15},{id:10005,title:'地球净化项目',start:'2024-03-08',end:'2024-03-15',progress:100},{id:10006,title:'一个小目标项目',start:'2024-03-10',end:'2024-03-21',progress:5},{id:10007,title:'某某计划',start:'2024-03-15',end:'2024-03-24',progress:70},{id:10008,title:'某某科技项目',start:'2024-03-20',end:'2024-03-29',progress:50},{id:10009,title:'地铁建设工程',start:'2024-03-19',end:'2024-03-20',progress:5},{id:10010,title:'铁路修建计划',start:'2024-03-12',end:'2024-03-20',progress:10}]})constresultEvent=()=>{const$gantt=ganttRef.valueif($gantt){// 获取拖拽排序后的最新数据(包含调整后的行顺序)consttableData=$gantt.getFullData()console.log(tableData)}}</script>

拖拽完成事件

  • row-dragstart 当行开始拖拽时会触发改事件
  • row-dragover 当行拖拽过程中会触发改事件
  • row-dragend 当行拖拽结束时会触发改事

row-dragover 会非常频繁触发,请避免在该事件中执行复杂计算或频繁 DOM 操作.

https://gantt.vxeui.com

http://www.jsqmd.com/news/866591/

相关文章:

  • 工业吸尘器常见维修方法
  • 管道腐蚀评估机构排名
  • 做品牌生成式搜索占位,爱学AI GEO优化实测收录率超九成
  • 揭秘CPU-Z:比鲁大师更精准的硬件检测软件!CPU-Z下载、安装及使用全攻略
  • 反爬与绕过反爬技术总结
  • 2026最最最新的JAVA后端开发八股文
  • 武汉江岸区学钢琴哪家好?乐飞钢琴二十一年深耕 - 资讯纵览
  • 专业的郑州苹果手机维修联系电话口碑佳的
  • 如何快速下载并配置Taotoken的CLI工具实现一键接入
  • 专职会计太贵!长沙财务合规、税务顾问、财务顾问机构更省钱 - 讲清楚了
  • 2026年5月23日芝柏官方售后网点权威评测:基于真实体验与第三方佐证的核验报告 - 资讯纵览
  • 【OpenClaw 进阶配置】如何让 MiniMax 搜索替代 SearXNG 作为 Web Search provider
  • 烟台口碑好的装修公司怎么选?8步指南帮你避坑,烟台兴北居装饰值得参考
  • OBS Source Record插件深度解析:实现多源独立录制的进阶解决方案
  • 独立开发者如何借助Taotoken快速构建并迭代AI应用原型
  • ncmdumpGUI:Windows平台免费NCM文件转换终极指南
  • 浙江话语音合成紧急上线倒计时!3小时完成ElevenLabs定制Voice微调+合规备案(含方言伦理审查清单)
  • 软文营销媒体发稿效果倍增逻辑内容渠道平台三维协同运营解析
  • 视频号视频下载去水印方法全是坑?全网视频一键拿捏!2026封神玩法!
  • 办理科技成果评价对企业有何作用?有哪些流程?需要哪些材料?
  • 东南大学论文模板:8倍效率的学术排版革命
  • 精选!2026重庆黄金回收好口碑快速上门TOP5 渝北本土标杆引领安全变现 - 资讯纵览
  • 边际效应在数据分析中的应用
  • 2026年初中中考英语单词表1600词高频速记必背词汇表带音标听力音频默写PDF版
  • 旧账乱理不清?长沙财务合规、税务顾问、财务顾问机构专业梳理 - 讲清楚了
  • Kamailio 整数转字符串
  • 对图片识别结果进行诊断分析
  • 微信红包背后的技术博弈:一个Android辅助服务的实战剖析
  • ai短剧生成工具测评:参数控制比生成数量更重要
  • 企业部署AI Agent的死亡陷阱:87%失败案例源于这3个反直觉设计原则(MIT CSAIL 2024压力测试白皮书节选)