主题
表格、搜索与页面集成
本页整合旧 ProTable、ProSearch、ProPage 用法。完整参数与可操作示例分别见 ProTable、ProSearch、ProPage。
数据与列
ProTable 接收直接 data,也可通过 requestApi 管理请求。分页字段映射、初始搜索值和结果转换以实际类型为准;传输 DTO 转为组件需要的数据应在服务或页面适配层完成。晚到结果不能覆盖当前请求,组件内部状态不能取代业务数据源。
列支持对象路径、选项字典、单选/多选、序号、拖拽、展开行、树形数据与多级表头。字典字段用 optionField 映射。分页通过 pageInfo/pageField 等公开契约控制,不为演示写死后台分页语义。
渲染与操作列
单元格可使用 render、renderHTML、列插槽及 formatValue;表头使用 renderHeader、renderHeaderHTML、${prop}-header 插槽。嵌套 prop 的具体插槽键由当前实现解析最后一段,不能假定整条路径就是插槽名。HTML 路径经过 SafeHtml,格式化文本无需 HTML。
列内置组件通过 el、elProps、elSlots 配置。TSX 使用对应语言标记,额外表头内容可用 header-before / header-after。
操作列可在列或独立操作配置中启用,按钮类型、显示数量、点击参数及 confirm 配置见 API。用 show / 权限条件控制展示不替代服务端鉴权;编辑按钮可结合 _isCellEdit 判断。
编辑、校验与回退
启用行增强需设置 initNativeRowField: true,它为数据行建立编辑状态和辅助方法,存在逐行处理成本,默认不应为只读表格开启。
_editable、_editableCol表示行/单元格编辑状态;_proFormInstance、_options、_optionProps保存编辑表单与选项信息。_getValue读取字段,_getData返回排除内部字段的数据。_openCellEdit/_closeCellEdit支持指定字段;关闭时要求 reset 才恢复编辑前值,_resetCellData使用已有快照。_isCellEdit支持字段及 and/or 判断,_validateCellEdit使用组件表单校验,不代表后端业务规则通过。
整体 editable 支持布尔和 click/dblclick;单列可单独指定编辑组件与校验规则。异步保存失败时保持可重试状态,是否退出编辑由业务成功结果决定。
筛选、工具栏与导出
单列开启 filter,通过 filterProps 配置表单、弹层与规则。内置规则包括 lt/gt/le/ge/eq/ne/like/notLike/between/notBetween/in/notIn;自定义规则接收 model、row、key 并返回布尔值。数字输入需显式规范化,避免字符串比较。
filterScope: "server" 关闭本地过滤,调用方处理 filter 事件或 requestApi 参数以获得新数据;没有后端实现时不能把开关当作服务端筛选已经完成。
title、head-left/right、head-tool-before/after、hideHead 控制顶部区域,toolButton / disabledToolButton 控制工具。密度、sizeStyle、列设置及 baseSetting 见 API;after 插槽位于工具栏之后,旧说明中的“左侧”重复表述已修正。
导出支持 label、prop、dataKey 模式,空数据给出提示;exportFile 可承接应用的后端导出。文档站浏览器使用真实 SheetJS/FileSaver,示例只导出本地数据。导出是客户端文件生成,不是服务器归档或审计记录。
页面编排与函数入口
ProSearch 负责查询模型、默认值、折叠、响应式布局和按钮插槽;ProPage 组合搜索和表格,通过列搜索配置控制顺序、占位及初始化值。业务 API 参数和默认值仍由调用方决定,不能将 UI reset 误认为服务端状态重置。
函数式入口包括 useProTable、createTableComponent、createTable,搜索组件有对应公开导出。创建的实例由调用方释放。适用参数以生成 API 和可运行示例为准,旧手写 TypeScript 类型表不再维护。
