跳到主要内容

CRUD 与表格体系

注意(v2.1.6): ProSearchProTableCrudCrudPagecreateCrudKit 已迁移到 @vef-framework-react/components,请从那里导入。

ProSearch

搜索表单容器,负责基础搜索区、高级搜索区、搜索按钮和重置逻辑。

关键 Props:

Prop类型说明
defaultValuesTValues初始搜索值
basicSearchReactNode基础搜索区域
advancedSearchReactNode高级搜索区域
extraReactNode左侧扩展内容
onSearch(values) => void搜索回调
onReset(defaultValues) => void重置回调
defaultAdvancedSearchVisibleboolean默认展开高级搜索
advancedSearchVisibleboolean受控展开状态

ProTable

页面级表格容器。

关键 Props:

Prop类型说明
columnsArray<TableColumn<TRow>>列定义
queryFnQueryFunction查询函数
isPaginatedboolean是否分页
rowKeyDeepKeys | fn行主键
columnSettingsfalse | { storageKey?: string }列设置与持久化
rowSelectiontrue | RowSelectionConfig行选择
queryParamsTParams额外查询参数
operationColumnOperationColumnConfig行操作列
header / footerReactNode顶部和底部插槽

相关导出:

导出用途
ProTableSubscriber订阅表格内部状态
OperationButtonGroup行级操作按钮组
ParamsWithPagination分页参数类型
ParamsWithSort排序参数类型
RowSelectionConfig选中配置
ProTableRef表格 ref 类型
ProTableState表格内部状态类型

Crud

ProSearchProTable、场景表单和删除 mutation 之上再包一层,提供一整套 CRUD 页面内部状态。

CrudPage

Page + Crud 的组合页,是标准后台列表页首选。

关键 Props:

Prop类型说明
tableColumnsArray<TableColumn<TRow>>表格列
queryFnQueryFunction列表查询
basicSearch / advancedSearchReactNode搜索区域
renderForm(scene) => ReactNode表单场景渲染
formMutationFnsCrudFormMutationFnscreate / update 等提交函数
deleteMutationFnMutationFunction单条删除
deleteManyMutationFnMutationFunction批量删除
toolbarActionsReactNode工具栏
operationColumnOperationColumnConfig行操作列
sceneDefaultFormValuesPartialDeep<TSceneFormValues>各场景默认值

createCrudKit

把页面的 TRowTSearchValuesTSceneFormValues 泛型固化成一组本地可复用工具。

返回值:

返回值用途
useCrudStore读取当前 CRUD 内部状态
useSearchValues读取当前搜索值
useSelectedRows读取当前选中行
ActionButtonGroup工具栏级按钮组
OperationButtonGroup行操作按钮组

CRUD 类型导出

类型用途
CrudBasicFormScene基础场景,如 create / update
CrudFormScene场景键类型
CrudBasicSceneFormValues基础场景值映射
CrudFormMutationFns场景提交函数映射
CrudProps / CrudPagePropsCRUD 组件 Props
CrudKitcreateCrudKit() 返回类型