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

vxe-table 拖拽列字段对数据进行分组

在数据表格中,将数据按某个字段进行分组展示是一种常见的需求。vxe-table 提供了拖拽列字段进行分组的功能,用户无需编写额外代码,只需通过简单的拖拽操作即可动态改变分组规则,极大提升了数据探索的灵活性。

核心特性

  • 可视化拖拽:将列头直接拖拽至分组区域,即可按该列分组。
  • 多级分组:支持同时拖入多个字段,形成多层级分组。
  • 动态调整:可随时增删分组字段,表格实时重组数据。
  • 零代码配置:开启 customConfig.allowGroup 后,工具栏自动出现分组面板,无需手动编写分组逻辑。

代码

  1. 在 gridOptions 中配置 customConfig.allowGroup: true,即可启用自定义列面板中的分组拖拽功能。
  2. 如果希望表格初始化时即按某个字段展开分组,可以在对应列上设置 rowGroupNode: true。该列会默认显示分组层级,用户仍可通过拖拽调整。
  3. 在 toolbarConfig 中启用 custom: true,表格顶部会显示“自定义列”按钮。点击后弹出的面板中,用户可以将任意字段拖拽到“分组”区域,即可实时对数据进行分组。

extend_pivot_table_table_custom_allow_group

<template><div><vxe-grid v-bind="gridOptions"></vxe-grid></div>
</template><script setup>
import { reactive } from 'vue'const gridOptions = reactive({height: 600,border: true,showOverflow: true,aggregateConfig: {},columnConfig: {resizable: true // 允许调整列宽},customConfig: {allowGroup: true // 开启拖拽分组},toolbarConfig: {custom: true},columns: [{ type: 'seq', width: 70 },{ field: 'department', title: '部门', minWidth: 200, rowGroupNode: true },{ field: 'name', title: '产品名称', width: 140 },{ field: 'date', title: '日期', width: 140 },{ field: 'actualAmount', title: '实际销售', width: 140 },{ field: 'plannedAmount', title: '计划销售', width: 140 }],data: [{ id: 10001, name: '笔记本', department: '销售1部', actualAmount: 80, plannedAmount: 100, date: '2025-02-01' },{ id: 10002, name: '手机', department: '销售3部', actualAmount: 140, plannedAmount: 120, date: '2025-01-01' },{ id: 10003, name: '键盘', department: '销售2部', actualAmount: 220, plannedAmount: 200, date: '2025-05-01' },{ id: 10004, name: '鼠标', department: '销售1部', actualAmount: 110, plannedAmount: 140, date: '2025-01-01' },{ id: 10005, name: '笔记本', department: '销售2部', actualAmount: 40, plannedAmount: 90, date: '2025-01-01' },{ id: 10006, name: '鼠标', department: '销售4部', actualAmount: 40, plannedAmount: 120, date: '2025-03-01' },{ id: 10007, name: '键盘', department: '销售1部', actualAmount: 234, plannedAmount: 300, date: '2025-05-01' },{ id: 10008, name: '手机', department: '销售4部', actualAmount: 146, plannedAmount: 240, date: '2025-11-01' },{ id: 10009, name: '笔记本', department: '销售3部', actualAmount: 78, plannedAmount: 120, date: '2025-05-01' },{ id: 10010, name: '笔记本', department: '销售4部', actualAmount: 100, plannedAmount: 130, date: '2025-03-01' },{ id: 10011, name: '手机', department: '销售2部', actualAmount: 146, plannedAmount: 150, date: '2025-03-01' },{ id: 10012, name: '键盘', department: '销售4部', actualAmount: 130, plannedAmount: 130, date: '2025-10-01' },{ id: 10013, name: '手机', department: '销售2部', actualAmount: 140, plannedAmount: 80, date: '2025-02-01' },{ id: 10014, name: '笔记本', department: '销售1部', actualAmount: 200, plannedAmount: 100, date: '2025-08-01' },{ id: 10015, name: '键盘', department: '销售3部', actualAmount: 320, plannedAmount: 300, date: '2025-05-01' },{ id: 10016, name: '笔记本', department: '销售4部', actualAmount: 380, plannedAmount: 400, date: '2025-10-01' },{ id: 10017, name: '鼠标', department: '销售1部', actualAmount: 34, plannedAmount: 200, date: '2025-12-01' },{ id: 10018, name: '键盘', department: '销售4部', actualAmount: 100, plannedAmount: 150, date: '2025-10-01' },{ id: 10019, name: '鼠标', department: '销售3部', actualAmount: 90, plannedAmount: 120, date: '2025-02-01' },{ id: 10020, name: '手机', department: '销售2部', actualAmount: 40, plannedAmount: 50, date: '2025-03-01' }]
})
</script>

使用说明

  • 拖拽分组:点击工具栏的“自定义列”按钮 → 在弹出面板中,将任意字段(如“部门”)从右侧列表拖拽到左侧“分组”区域 → 表格数据立即按该字段分组展示。
  • 多级分组:依次拖入多个字段(例如先按“部门”,再按“产品名称”),表格会形成树形嵌套分组。
  • 移除分组:在分组区域点击字段右侧的“×”按钮,或将其拖回字段列表,即可取消分组。
  • 聚合统计:若需要分组汇总(如求和、平均值),可在 aggregateConfig 中配置,并在列上指定 aggFunc。

https://vxetable.cn

http://www.zskr.cn/news/1415271.html

相关文章:

  • addBumpConnectTargetConstraint 命令详解
  • Nodejs开发者如何通过Taotoken稳定调用Claude模型
  • UniXcoder终极指南:统一跨模态代码智能助手
  • 不止于安装HAP:用hdc_std命令行高效管理你的OpenHarmony设备(文件传输、日志抓取、进程查看)
  • CyberpunkSaveEditor:免费终极赛博朋克2077存档修改器使用指南
  • 3大核心策略:用SysML v2彻底解决复杂系统建模的协作难题
  • 2026产品运营如何提升职场素养:打造专业形象与高价值成长路径
  • Smithbox:打破游戏修改壁垒的终极工具
  • TMSpeech:Windows平台实时语音转文字工具,3倍提升会议记录效率
  • 如何轻松让旧iPhone/iPad重获新生:LeetDown降级工具完全指南
  • 实战解析:基于Flink与图数据库的欺诈检测系统如何拦截大规模攻击
  • AI主播生成新纪元已至(Sora 2内测权限倒计时48小时):头部MCN实测转化率提升217%的5个隐藏参数
  • Galanin (1-16) (porcine, rat) ;GWTLSAGYLLGPHAI
  • 触觉分辨率不足?融合本体感觉实现低成本机器人精准物体识别
  • 原神自动化助手终极指南:3步轻松实现游戏全自动操作
  • 呼和浩特黄金回收哪家门店更实在 五家本地店横向对比帮你避坑 - 专业黄金回收
  • 2026年湖北白蚁防治口碑排行榜:益民生物科技综合实力突出 - 资讯焦点
  • 如何选择安全的杉德斯玛特卡回收平台?避免这些常见陷阱! - 团团收购物卡回收
  • 告别Vivado卡顿!用VCS2018+Makefile独立仿真Xilinx IP核的保姆级流程
  • 别只当仿真工具用!用Comsol复现经典传热教材案例,深化你的物理模型理解
  • 深入GTH收发器:从8B/10B编解码到Comma对齐,搞懂高速串行链路的数据对齐机制
  • Cartographer建图精度上不去?可能是你的IMU和Lidar外参没标定!一份实操指南
  • 科研绘图网站推荐:科秒AI,全科研生涯适配的学术可视化解决方案 - 博客万
  • 为什么你的Sora 2 NeRF输出模糊、闪烁、漂移?:20年图形学专家紧急发布的3大隐式场梯度坍塌诊断协议
  • 【分享】配音大咖 专业AI智能配音多种高效功能 解锁会员
  • Windows 11终极优化指南:免费工具Win11Debloat让你的系统性能提升51%
  • 微信 ClawBot 接入 OpenClaw:详细步骤 + 常见问题解决
  • 2026 年 5 月河北景观石厂家推荐排行榜单:风景石、刻字石、门牌石、校训石、村牌石、雪浪石、泰山石优质厂商指南 - 海棠依旧大
  • Arduino智能追光花盆:光敏传感器与伺服电机控制实践
  • 双系统启动报错?手把手教你用Ubuntu下的WoeUSB制作Win10修复U盘(保姆级教程)