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

vxe-table 按多个列进行分组和按多个字段进行分组的使用方式

vxe-table 按多个列进行分组和按多个字段进行分组的使用方式

查看官网:https://vxetable.cn
gitbub:https://github.com/x-extends/vxe-table
gitee:https://gitee.com/x-extends/vxe-table

合并多个字段进行分组

将多个字段的汇集到指定字段,再按照指定字段进行分组即可轻松实现对多个字段分组;实现后跟单列分组效果一样,区别是只在一层显示分组内容

<template><div><vxe-gridv-bind="gridOptions"></vxe-grid></div></template><scriptsetup>import{reactive}from'vue'constgridOptions=reactive({height:500,aggregateConfig:{groupFields:['complexField']},columns:[{type:'seq',width:70},{field:'name',title:'Name',minWidth:300,rowGroupNode:true},{field:'role',title:'Role'},{field:'sex',title:'Sex'},{field:'age',title:'Age'},{field:'address',title:'Address'}],data:[]})consttableData=[{id:10001,name:'Test1',role:'Develop',sex:'Woman',age:28,date:'2025-02-01',address:'test abc'},{id:10002,name:'Test2',role:'Test',sex:'Man',age:22,date:'2025-01-01',address:'Guangzhou'},{id:10003,name:'Test3',role:'PM',sex:'Woman',age:32,date:'2025-02-01',address:'Shanghai'},{id:10004,name:'Test4',role:'Designer',sex:'Man',age:32,date:'2025-01-01',address:'test abc'},{id:10005,name:'Test5',role:'Develop',sex:'Man',age:30,date:'2025-01-01',address:'Shanghai'},{id:10006,name:'Test6',role:'Designer',sex:'Man',age:30,date:'2025-03-01',address:'test abc'},{id:10007,name:'Test7',role:'Test',sex:'Woman',age:29,date:'2025-01-01',address:'test abc'},{id:10008,name:'Test8',role:'PM',sex:'Woman',age:35,date:'2025-01-01',address:'test abc'},{id:10009,name:'Test9',role:'Test',sex:'Man',age:21,date:'2025-01-01',address:'test abc'},{id:10010,name:'Test10',role:'PM',sex:'Woman',age:28,date:'2025-03-01',address:'test abc'},{id:10011,name:'Test11',role:'Test',sex:'Woman',age:29,date:'2025-03-01',address:'test abc'},{id:10012,name:'Test12',role:'Develop',sex:'Man',age:37,date:'2025-10-01',address:'test abc'},{id:10013,name:'Test13',role:'Test',sex:'Woman',age:24,date:'2025-02-01',address:'test abc'},{id:10014,name:'Test14',role:'Develop',sex:'Man',age:34,date:'2025-02-01',address:'test abc'},{id:10015,name:'Test15',role:'Designer',sex:'Man',age:21,date:'2025-01-01',address:'test abc'},{id:10016,name:'Test16',role:'Designer',sex:'Woman',age:21,date:'2025-10-01',address:'test abc'},{id:10017,name:'Test17',role:'Test',sex:'Man',age:31,date:'2025-12-01',address:'test abc'},{id:10018,name:'Test18',role:'Develop',sex:'Woman',age:32,date:'2025-10-01',address:'test abc'},{id:10019,name:'Test19',role:'Test',sex:'Man',age:37,date:'2025-02-01',address:'test abc'},{id:10020,name:'Test20',role:'Develop',sex:'Man',age:41,date:'2025-03-01',address:'test abc'}]tableData.forEach(row=>{row.complexField=`${row.role}-${row.date}`})gridOptions.data=tableData</script>

按多字个列进行分组

使用非常简单,配置一下就可以启用,通过配置 aggregate-config.groupFields 指定按多个字段分组,会对自动对多个列进行分组,并多列按树结构进行渲染

<template><div><vxe-gridv-bind="gridOptions"></vxe-grid></div></template><scriptsetup>import{reactive}from'vue'constgridOptions=reactive({height:500,border:true,aggregateConfig:{groupFields:['role','date']},columns:[{type:'seq',width:70},{field:'name',title:'Name',minWidth:300,rowGroupNode:true},{field:'role',title:'Role'},{field:'sex',title:'Sex'},{field:'age',title:'Age'},{field:'address',title:'Address'}],data:[{id:10001,name:'Test1',role:'Develop',sex:'Woman',age:28,date:'2025-02-01',address:'test abc'},{id:10002,name:'Test2',role:'Test',sex:'Man',age:22,date:'2025-01-01',address:'Guangzhou'},{id:10003,name:'Test3',role:'PM',sex:'Woman',age:32,date:'2025-05-01',address:'Shanghai'},{id:10004,name:'Test4',role:'Designer',sex:'Man',age:32,date:'2025-01-01',address:'test abc'},{id:10005,name:'Test5',role:'Develop',sex:'Man',age:30,date:'2025-01-01',address:'Shanghai'},{id:10006,name:'Test6',role:'Designer',sex:'Man',age:30,date:'2025-03-01',address:'test abc'},{id:10007,name:'Test7',role:'Test',sex:'Woman',age:29,date:'2025-05-01',address:'test abc'},{id:10008,name:'Test8',role:'PM',sex:'Woman',age:35,date:'2025-11-01',address:'test abc'},{id:10009,name:'Test9',role:'Test',sex:'Man',age:21,date:'2025-05-01',address:'test abc'},{id:10010,name:'Test10',role:'PM',sex:'Woman',age:28,date:'2025-03-01',address:'test abc'},{id:10011,name:'Test11',role:'Test',sex:'Woman',age:29,date:'2025-03-01',address:'test abc'},{id:10012,name:'Test12',role:'Develop',sex:'Man',age:37,date:'2025-10-01',address:'test abc'},{id:10013,name:'Test13',role:'Test',sex:'Woman',age:24,date:'2025-02-01',address:'test abc'},{id:10014,name:'Test14',role:'Develop',sex:'Man',age:34,date:'2025-08-01',address:'test abc'},{id:10015,name:'Test15',role:'Designer',sex:'Man',age:21,date:'2025-05-01',address:'test abc'},{id:10016,name:'Test16',role:'Designer',sex:'Woman',age:21,date:'2025-10-01',address:'test abc'},{id:10017,name:'Test17',role:'Test',sex:'Man',age:31,date:'2025-12-01',address:'test abc'},{id:10018,name:'Test18',role:'Develop',sex:'Woman',age:32,date:'2025-10-01',address:'test abc'},{id:10019,name:'Test19',role:'Test',sex:'Man',age:37,date:'2025-02-01',address:'test abc'},{id:10020,name:'Test20',role:'Develop',sex:'Man',age:41,date:'2025-03-01',address:'test abc'}]})</script>

https://gitee.com/x-extends/vxe-table

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

相关文章:

  • 站点回复管理系统
  • RNN/LSTM时序数据处理,从文本生成到股价预测
  • PyTorch在树莓派5上的人脸追踪实战应用详解
  • Eclipse JDT Core for Java Code Formatter
  • 102302136林伟杰_综合实践个人博客
  • ChatGPT可手动调温、谷歌推出 A2UI 标准、通义千问推出 Qwen-Image-Layered 模型、多智能体可信标准在ITU立项
  • 存储器介绍(2)
  • L298N如何提升智能小车运动精度?全面讲解
  • 哪些领域或行业可能会因为 AI 技术的应用而迎来爆发性的增长?
  • AI报告审核助手:首批数字员工的核心落地形态与技术演进
  • AI报告审核助手:首批数字员工的核心落地形态与技术演进
  • 102302110_高悦_综合实践个人总结报告
  • Java 将 PowerPoint 转换为 HTML:实现跨平台展示与Web集成
  • Windows Defender永久禁用:系统优化终极解决方案
  • SMC磁耦合式无杆缸清洁
  • 如何通过ERP系统提升服装公司的管理效率?
  • I2S硬件连接:入门必看的引脚分配说明
  • Hotkey Detective终极指南:3步解决Windows热键冲突难题
  • Java代码
  • 使用 Git LFS 管理大文件
  • 从零实现UDS 28服务安全访问请求响应
  • 2025写文盘点:为了不被日更逼疯,我亲测了10款主流【ai写小说】工具
  • 基于java的SpringBoot/SSM+Vue+uniapp的新能源汽车服务系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • 使用NPN三极管构建蜂鸣器电路手把手教程
  • 工业报警系统设计:蜂鸣器选型完整指南
  • 应用——MPlayer 媒体播放器系统代码详解
  • 终极Windows快捷键占用检测工具 | 一键排查热键冲突解决方案
  • STM32F1系列实现I2C HID从机操作指南
  • PLC 编程的工业用途:为什么现代工厂离不开它?
  • AI学习:什么是MCP,写第一个MCP