ProPage 超级页面
ProPage 超级页面组件是在 ProSearch 超级搜索 和 ProTable 超级表格 的基础上进行拓展,因此完全兼容这些组件的所有 Props 配置、Emit 事件、Slots 插槽。
基础用法
- 1
搜索展示顺序
在 columns 中给每一个 column 使用 search.order,可以控制搜索展示顺序。
order 如果不设置也会在内部进行初始化赋值,默认两个相近的列 order 相差 5.
- 1
手动控制搜索值
通过 ProPage 组件的示例来获取相关方法控制搜索值。
ProPage 组件同时也暴露了 ProTable 和 ProSearch 的示例,你可以像正常使用 ProTable 和 ProSearch 组件一样来获取对应的方法使用。
- 1
搜索列占位
通过 span 配置项,可以控制搜索项所占用的列数,默认为 1。
通过 offset 配置项,可以控制搜索列的离左侧偏移列数,默认为 0。
- 1
搜索默认值
在 columns 中给每一个 column 使用 search.defaultValue,可以设置搜索项的默认值。
同时支持全局传入 defaultValues,但是优先级低于单个 column 的 search.defaultValue。
- 1
搜索前置事件
在 columns 中给每一个 column 使用 search.beforeSearch,可以设置搜索前置事件,返回 当前 prop 的新的搜索参数。
同时支持全局传入 beforeSearch,但是优先级低于单个 column 的 search.beforeSearch。
相比较单个 column 的 search.beforeSearch,beforeSearch 需要返回 boolean 或者一个新的搜索表单,如果返回 false 则取消搜索。
- 1
插槽
ProPage 默认与 ProTable 的插槽命名一致,而 ProSearch 插槽需要添加 -search 结尾来进行识别。
- 通过
{prop}-search插槽,可以自定义搜索表单的组件 - 通过
{prop}-label-search插槽,可以自定义表单 Label - 通过
{prop}插槽,可以自定义表格单元格内容 - 通过
{prop}-header插槽,可以自定义表格表头内容
- 1
API 获取数据
超级页面支持手动传入 data 数据,同时也支持传入 request-api 函数来获取数据。
- 1
PageColumn 配置项
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| search | 搜索相关配置 | object | — |
| ... | 其他扩展属性,支持所有 FormColumn 配置项 | ... | ... |
search 配置项在 SearchColumn 配置项 基础上拓展了如下类型:
export interface PageColumn<T extends Recordable = any> extends TableColumn<T> {
search?: {
/**
* 搜索事件前置处理,可以返回新的搜索值
*/
beforeSearch?: (value: any, searchParams: Recordable, column: TableColumn) => unknown | false | undefined;
/**
* 搜索项所占用的列数,默认为 1 列
*/
span?: number;
/**
* 搜索字段左侧偏移列数
*/
offset?: number;
} & Partial<SearchColumn> &
Partial<Record<BreakPoint, Responsive>>;
}BreakPoint 类型如下:
export type BreakPoint = "xs" | "sm" | "md" | "lg" | "xl";Responsive 类型如下:
export type Responsive = {
/**
* 偏移量
*
* @default 1
*/
span?: number;
/**
* 占位量
*
* @default 0
*/
offset?: number;
};Attributes
| 属性名 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| columns | 页面列配置 | array | [] |
| searchProps | 搜索项配置 | object | — |
| initShowSearch | 初始化时是否显示搜索模块 | boolean / function | true |
| defaultValues | 默认搜索参数,优先级低于 column.defaultValue | object | — |
| ... | 其他扩展属性,支持所有 ProTable Attributes | ... | ... |
Events
| 名称 | 说明 | 类型 |
|---|---|---|
| searchRegister | ProSearch 的注册事件 | function |
| tableRegister | ProTable 的注册事件 | function |
| ... | 其他扩展属性,支持所有 ProTable Events 和 ProSearch Events | ... |
Slots
| 插槽名 | 说明 | 作用域插槽参数 |
|---|---|---|
| action | 自定义搜索操作按钮区域 | object |
| 'prop'-search | 自定义搜索表单项组件,自动根据配置项的 prop 生成对应的插槽 | object |
| 'prop'-label-search | 自定义表单项 label,自动根据配置项的 prop 生成对应的插槽 | object |
| 'prop' | 自定义表格单元格,自动根据配置项的 prop 生成对应的插槽 | object |
| 'prop-header' | 自定义表格项 header,自动根据配置项的 prop 生成对应的插槽 | object |
| ... | 其他扩展属性,支持所有 ProTable Slots | ... |
Exposes
| 名称 | 说明 | 类型 |
|---|---|---|
| searchParams | 搜索参数 | object |
| searchDefaultParams | 搜索默认参数 | object |
| proSearchInstance | ProSearch 组件实例 | object |
| proTableInstance | ProTable 组件实例 | object |
| search | 触发搜索事件 | function |
| reset | 重置搜索表单 | function |
| toggleCollapse | 切换搜索表单展开收起状态 | function |
| getTableData | 获取表格数据 | function |
| getPageInfo | 获取分页信息 | function |
| setSearchParams | 设置搜索参数 | function |
| clearSearchParams | 清空搜索参数 | function |
| ... | 其他扩展属性,支持所有 ProTable Exposes | ... |
