6.1.1
什么是 ListTable?
- 与
PivotTable(透视表)的对比
核心特点
- 强大的数据处理能力
提供了对多种数据聚合操作、包括排序、合计、最大值和最小值以及自定义聚合函数,能够帮助用户快速进行聚合操作。
- 丰富的可扩展性
支持自定义单元格,自定义布局,自定义主题、同时支持 React 和 Vue 以组件的形式引用。
- 可视化增强
ListTable 支持迷你图、数据条、图标 、自定义单元格样式等功能。同时也支持在单元格内部插入图表,形成组合图表。
- 高性能的交互和操作
ListTable 支持自定义排序、单元格 hover 和 select 样式自定义、自定义下拉菜单、单元格编辑能力。通过canvas实现了类DOM的操作,性能更优秀。
6.1.2
-
典型用例
-
数据库查询结果实时展示(支持字段动态显示)
-
需要动态增删改查的表格(如管理后台)。
-
结合交互操作的数据分析界面(如框选、排序、过滤)。
-
不适合的场景
-
需要复杂行列层级嵌套(优先考虑
PivotTable)。
6.1.3
以下是ListTable核心概念及其说明:
-
Records:
ListTable数据源,以数组形式表示,ListTable同时还支持通过dataSource的形式进行异步渲染数据; -
Columns:列定义,包括了列表头的定义和单元格格式化的定义。columns 支持树的形式定义多级表头和表头合并;
-
Pagination:分页配置,包括当前页数、总条数等;
-
Scenegraph:
ListTable内部渲染的场景树,用于表格的渐进式渲染; -
Theme: 主题定义,
ListTable支持自定义主题,包括表格边框、单元格背景颜色等 -
SortState:自定义排序逻辑;
-
Transpose:行列转置,将行和列进行置换,
ListTable相对于PivotTable特有的能力; -
CustomMergeCell:自定义合并单元格,支持配置单元格合并逻辑。
6.1.4
下面介绍关于ListTable的能力定义,详情参考该文章https://visactor.com/vtable/guide/introduction
数据处理能力
-
数据规模:支持百万级数据渲染,能够进行流畅滚动;
-
数据源:ListTable 同时支持传入数据和异步传入数据;
-
数据结构:支持二维对象、二维数组以及对象结构,对象结 构主要用于异步加载数据源;
-
数据格式化:ListTable 支持自定义数据格式化,同时支持排序,过滤,数据聚合计算。参考文档https://visactor.com/vtable/guide/data_analysis/list_table_dataAnalysis
-
动态更新:可以通过 updateOption、updateRecords 等 api 更新数据;
渲染能力
-
渲染模式:混合渲染(Canvas主体 + DOM叠加层);
-
单元格渲染:借助VRender完成表格组件的渲染,支持通过 style 函数配置去方便的自定义单元格样式;
-
跨端适配:ListTable 同时支持Node端、Browser端;
交互能力
-
表格交互
-
ListTable 允许自定义hover和select 时的高亮配置,包括高亮整行或是高亮整列;
-
拖拽:ListTable 支持拖拽表头调整位置、禁止某列换位、拖拽调整列宽、换位标记线样式自定义等操作;
-
冻结:行列冻结仅支持 ListTable 使用,能够配置左侧、右侧列冻结,顶部、底部冻结行。
配置文档参考:https://visactor.com/vtable/guide/basic_function/frozen_column_row
-
排序:支持点击排序图表,自定义内部排序规则。
-
组件级交互
组件级交互包括滚动条交互、下拉菜单、tooltip 定义等。
- 自定义事件
ListTable 提供了监听内部自定义事件的功能,允许搭配自定义回调完成交互。
可视化增强
- 条件格式
用户可以通过 style 配置单元格样式,style 中所有样式,包括边框、背景颜色、文本粗细等都支持函数的形式,用户可以通过 style 来达到单元格粒度的样式定义。
详细参考文档:https://visactor.com/vtable/guide/theme_and_style/style
- 多样的单元格类型:
ListTable 中的单元格不仅支持文本,还能支持 link,image,最重要的是支持迷你图,关于迷你图的介绍可以参考该篇文章 https://visactor.com/vtable/guide/cell_type/sparkline
表格转置
独属于ListTable 的能力,能够将表格的行列进行调换,适用于有特殊需求的场景,通过transpose开启。

树形结构
在某些场景下,需要支持表格树形展示,包括项目管理,部门人员管理,ListTable支持基本树形结构展示,通过在records中定义 group 和 children 来使用。
详细参考文档:https://visactor.com/vtable/guide/table_type/List_table/tree_list

分组展示
ListTable 支持对基本表格各行进行分组,通过配置 groupBy 字段,来配置使用哪个字段来进行 group 操作。
详细参考文档:https://visactor.com/vtable/guide/table_type/List_table/group_list

主题
内置多样主题:包括 ARCO Theme、LIGHT Theme,帮助用户快速定义心仪的样式。
详细参考文档: https://visactor.com/vtable/guide/theme_and_style/theme
表格导出
ListTable 能够支持自 定义导出成csv和excel格式,且能支持按照options导出,除开基本单元格,其余包括数据条都是导出成图片,目前暂不支持导出迷你图。关于导出的介绍:https://visactor.com/vtable/guide/export/excel
本文档由以下人员提供
taiiiyang(https://github.com/taiiiyang)