跳转到内容

表格

采用可交互的动态数据表格组件,支持多维度排序、灵活筛选、批量操作及可视化对比,具备响应式布局与性能优化功能,实现高效的结构化数据展示与管理。

基础

列过滤

布局

排序

操作列

附件列

行编辑

动态逻辑

数据聚合

分组

内置工具栏

表格导出

值显示

内置导航

合并行或列

列更新

注入属性

界面样式及图标

事件

能力调用

显示模式

行展开

百分比

刷新模式

换行模式

分组行模式

批操作工具栏显示模式

虚拟表格

透视表

输入参数

名称说明类型默认值
modelData表格模型数据Object as IDEGrid-
context应用上下文对象Object as IContext-
params视图参数对象Object as IParams{}
provider部件适配器Object as IControlProvider-
mdctrlActiveMode部件行数据默认激活模式,值为0:不激活,值为1:单击激活,值为2:双击激活Number-
singleSelect是否单选Boolean-
rowEditOpen是否启用行编辑Boolean-
isSimple是否是简单模式,即直接传入数据,不加载数据Boolean-
data简单模式下传入的数据Array<IData>-
loadDefault是否默认加载数据Booleantrue

状态

名称说明类型默认值
isCreated控制器是否走完created生命周期booleanfalse
isMounted控制器是否走完mounted生命周期booleanfalse
isDestroyed控制器是否走完destroy生命周期booleanfalse
context应用上下文对象IApiContext{}
zIndexpopover层级number-
activated当前部件是否为激活状态(缓存下的激活状态,一般与框架的生命周期相同)booleanfalse
isSimple是否是简单模式,简单模式下不加载数据,而是由父组件传值booleanfalse
isLoading部件是否正在加载booleanfalse
loadDefault是否默认加载数据booleantrue
disabled部件禁用状态booleanfalse
maskOption部件遮罩参数IApiMaskOption-
isCounterDisabled是否禁用计数器boolean-
items多数据部件数据集合IApiData[][]
selectedData多数据部件已选中的数据集合IApiData[][]
selectedKeys多数据部件选中数据主键集合(数据选择视图中使用)string[][]
singleSelect是否是单项选择booleantrue
mdctrlActiveMode多数据部件激活模式,0:无激活;1:单击激活;2:双击激活number | 0 | 1 | 20
curPage当前页number1
size分页条数number20
total总条数number0
totalx全部计数条数,数据集配置需勾选返回全部计数number0
totalPages总页数number-
isLoaded是否加载过数据,用于某些需要等待数据加载回来之后的场景。booleanfalse
searchParams搜索部件的查询参数IApiParams{}
noSort是否禁用排序booleanfalse
sortQuery排序查询条件string''
groups分组数据IApiMDControlGroupState[][]
hideNoDataImage隐藏无数据图片,该状态仅PC端使用。booleanfalse
enableNavView是否启用内置导航视图,该状态仅PC端使用。booleanfalse
showNavView是否显示内置导航视图,该状态仅PC端使用。booleanfalse
showNavIcon是否显示内置导航图标,导航视图显示模式为程序控制时不显示。该状态仅PC端使用。booleanfalse
showRowDetail是否显示行明细,该状态仅PC端(表格,列表)使用。booleanfalse
enableGroup是否启用分组,该状态仅PC端(表格,卡片,列表)使用。boolean-
expandRowKeys展开行的 keys 数组string[]-
rows表格行状态IApiGridRowState[][]
columnStates表格列状态数组,顺序就是列的排序IApiColumnState[][]
aggResult聚合计算的结果IApiData{}
totalResult统计结果IApiData{}
remoteAggResult远程聚合计算结果IApiData{}
rowEditOpen开启表格行编辑,表格样式为自动表格(AUTOGRID)时默认为true,否则为falsebooleanfalse
isAutoGrid是否为自动表格,自动表格可添加行booleanfalse
hideHeader隐藏表格头部booleanfalse
enablePagingBar是否启用分页栏booleantrue
simpleDatasimple数据IApiData[][]

控制器

名称说明类型
id控制器实例的唯一标识,创建时自动生成 string
state状态对象,泛型 S
model模型对象,泛型 T
context应用上下文对象 IApiContext
params视图参数对象 IApiParams
view当前视图控制器 IApiViewController & IApiData
ctrlId部件标识 string
controlParams部件参数 IApiParams
layoutPanel部件布局面板控制器 IApiViewLayoutPanelController & IApiData
runMode运行模式(DESIGN:设计模式,RUNTIME:运行时) 'DESIGN' | 'RUNTIME'
columns表格列数据 { [key: string]: IApiGridColumnController }
force强制更新,触发render函数(_callback?: () => void) => void
startLoading开始加载() => Promise<void>
endLoading加载完毕() => Promise<void>
getControlType获取部件类型() => string
enable取消部件禁用() => void
disabled设置部件禁用(options?: IApiMaskOption) => void
disableCounter禁用部件计数器() => void
emitDEDataChange触发实体数据变更的通知(type: 'create' | 'update' | 'remove', data: IApiData) => void
setSort设置排序(key?: string, order?: 'asc' | 'desc') => void
loadMore加载更多() => Promise<void>
load加载数据(args?: IApiMDCtrlLoadParams) => Promise<IApiData[]>
remove删除数据(args?: IApiMDCtrlRemoveParams) => Promise<void>
refresh刷新数据() => Promise<void>
importData导入数据() => Promise<void>
getData获取选中数据() => IApiData[]
setSelection设置选中数据,设置的数据和已经选中的一样时会触发onSelectionChange事件(selection: IApiData[], isEmit?: boolean) => void
setActive设置激活数据(data: IApiData, event?: MouseEvent | undefined) => Promise<void>
goToFirstPage跳转第一页() => Promise<IApiData[]>
goToPreviousPage跳转上一页() => Promise<IApiData[]>
goToNextPage跳转下一页() => Promise<IApiData[]>
goToLastPage跳转最后一页() => Promise<IApiData[]>
selectAll选中全部数据(state?: boolean) => void
execGroup执行多数据分组(arg: IApiMDGroupParams[], params?: IApiParams) => Promise<void>
setSelectedData设置选中数据(items: IApiData[]) => void
newRow新建行(args?: IApiMDCtrlLoadParams) => Promise<void>
save保存单条数据(data: IApiData) => Promise<void>
setRowValue设置行属性的值(row: IApiGridRowState, name: string, value: unknown, ignore: boolean) => Promise<void>
validate校验一行数据的所有编辑项(row: IApiGridRowState) => Promise<boolean>
validateAll校验所有行数据() => Promise<boolean>
saveAll保存表格所有数据() => Promise<void>
toggleRowEdit切换表格的行编辑开启关闭状态() => void
switchRowEdit切换单行的编辑状态(row: IApiGridRowState, editable?: boolean, isSave?: boolean) => Promise<void>
updateGridEditItem表格编辑项更新(row: IApiGridRowState, updateId: string) => Promise<void>
exportData导出数据,导出成Excel文件(args: { event?: MouseEvent; params: IApiData }) => Promise<void>
findRowState基于数据获取行数据控制器(data: IApiData) => IApiGridRowState | undefined
changeCollapse切换折叠(分组表格使用),其中tag表示操作指定表格分组行标识,若不传则操作当前表格的所有分组展开状态,expand表示是否展开,若不传则以当前分组状态为基准切换(params?: { tag?: string; expand?: boolean }) => void
getGridColumn获取表格列(type: K, id: string) => IApiGridColumnMapping[K]

事件

名称描述类型
onCreated自身的准备工作完成(如模型加载,各种初始化,init结束){eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onMounted没有下级组件created之后的生命周期,有下级时需要等所有下级组件onMounted完成后触发{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onBeforeDestroy组件销毁前{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onDestroyed自身组件被销毁时触发{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onActivated自身组件重新激活{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onDeactivated自身组件暂时停用{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onUIAction界面行为执行{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onRefreshSuccess刷新成功{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onActive数据激活事件{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onSelectionChange选中数据变更事件{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onBeforeSave保存之前{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onSaveSuccess保存成功后{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onSaveError保存失败{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onBeforeRemove删除之前{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onRemoveSuccess删除成功之后{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onRemoveError删除失败{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onBeforeLoad加载前事件{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onLoadSuccess加载后处理事件{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onLoadError加载失败{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onNavDataChange导航数据变更{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onGridDataChange设置表格数据{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onRowEditChange表格行编辑切换{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}
onToggleRowExpansion切换行展开{eventName:string, context:IApiContext, params:IApiParams, data:IApiData[], targetName:string, view:IApiViewController, ctrl:IApiControlController, [key: string]: any}

控件动态参数

名称说明类型默认值
overflowmode单元格内容超出单元格宽度时的呈现模式,包含超出省略 'ellipsis',换行 'wrap' 两种模式'wrap' | 'ellipsis''wrap'
emptyhiddenunit单元格无值时,其对应的值单位(如'天'、'%'等)是否隐藏booleantrue
editshowmode表格进行行编辑时的呈现模式,包含单行编辑模式 'row',单元格编辑 'cell' 模式,整个表格编辑模式 'all' 三种模式'row' | 'cell' | 'all''row'
editsavemode处理表格进行行编辑时的保存模式,包含单元格失焦 'cell-blur' 时保存,自动保存 'auto',手动确认 'manual' 三种模式'cell-blur' | 'auto' | 'manual''cell-blur'
saveerrorhandlemode表格保存错误时的处理模式,包含提示错误信息 'default' 和重置表格行数据 'reset' 两种模式'default' | 'reset''default'
enablejsonschema是否启用自定义添加表格列功能,当参数为true且后台返回 jsonschema 格式的表格列相关数据时执行添加操作booleanfalse
jsonschemaparamsenablejsonschema值为true时生效。支持配置 JSON 字符串并将其转化为导航参数,该参数将被附加到获取实体的 jsonschema 数据的请求参数中,获取的数据解析后用于自定义添加表格列功能,示例格式:{"test":"%test%"}string'{}'
percentkeys表示表格哪些列的单元格要显示百分比string[][]
showmode'DEFAULT' 显示分页栏、表格头部、无数据提示的文字及图片;'ONLYDATA' 仅显示数据区域,不显示分页栏与表格头部,在无值时不显示无数据提示图片;'MIXIN' 无数据时仅显示数据区域,不显示分页栏、表格头部、无数据提示图片'DEFAULT' | 'ONLYDATA' | 'MIXIN''DEFAULT'
rowspankeys用于指定表格中需要合并单元格的行,取值为表格列的 prop值(表格列模型代码标识)数组string[][]
colspankeys用于指定表格中需要合并单元格的列,取值为表格列的 prop值(表格列模型代码标识)数组string[][]
defaultexpandall树形表格时是否默认全部展开booleanfalse
triggermode该配置项用于指定编辑器触发 emit 事件的模式。若值为 'input',则在输入框值变更时触发 change 事件;若值为 'blur',则在输入框失去焦点时触发 change 事件'blur' | 'input''blur'
mdctrlrefreshmode多数据部件刷新模式,当值为 'cache',部件刷新时保留选中数据;当值为 'nocache',部件刷新时清空选中数据'nocache' | 'cache''cache'
grouprowmode表格分组行模式,当值为 DEFAULT 时,表示分组行由业务数据第一行出,NEWROW 表示分组行独出一行'DEFAULT'|'NEWROW''DEFAULT'
unionkeys表格联合主键,参数以|分割,用于解决同一条数据关联多个版本呈现问题string-
batchtoolbarmode批操作工具栏显示模式,值为 'default' 时表示存在选择数据就显示批操作工具栏,值为 'multiple' 时表示选择至少2条数据才显示批操作工具栏'default' | 'multiple''default'

部件成员

类型名称接口
DEFGRIDCOLUMN表格属性列IApiGridFieldColumnController
DEFGRIDCOLUMN_EDIT表格编辑列IApiGridFieldEditColumnController
GROUPGRIDCOLUMN表格分组列IApiGridGroupColumnController
UAGRIDCOLUMN表格操作列IApiGridUAColumnController
未来已来,立即拥抱应用融合的力量
Released under the MIT License.