Skip to content

ProPage 页面骨架 ​

基于 plus-pro-components / Page 的 dh-design-pc 页面级封装,适合“筛选表单 + 表格 + 分页 + 工具栏”的标准业务列表页。

当前组件支持两种模式:

  1. 基础模式:业务方自行传入 search-model / data / total / page / page-size
  2. request 模式:通过 request、params、before-search-submit 管理整页数据流

ProPage 会把分页区域稳定放在表格可视区底部;表格内容出现纵向滚动时,分页不会跟着滚出视线。需要关闭时传 sticky-pagination="false"。

ProPage 默认使用 PC 端业务列表规范:表格常规密度、空值使用 -、单元格单行省略、最小表格宽度 960px、操作列最多平铺 3 项。业务方可通过 table 属性覆盖这些默认值。

ts
import { createApp } from 'vue'
import { ProPage } from '@szhn/dh-design-pc'

const app = createApp({})
app.use(ProPage)

基础用法 ​

常用筛选表格模板 ​

以下示例参考最新表格 + N 项筛选模板,包含不同筛选项数量、复合概览、超 8 项“更多筛选”等场景。

手动控制搜索值 ​

搜索参数处理 ​

默认搜索参数 ​

默认分页参数 ​

自定义搜索按钮 ​

自定义搜索表单插槽 ​

搜索和表格展示顺序控制 ​

model-value / v-model ​

增删改查(CRUD) ​

ProPage API ​

Props ​

属性名说明类型默认值
columns表格与搜索共享 schemaPcProColumn[][]
search-model / v-model:search-model搜索表单值Record{}
data表格数据(基础模式)Array[]
loading加载状态(基础模式)booleanfalse
total总条数(基础模式)number0
page / v-model:page当前页码numberdefaultPageInfo.page
page-size / v-model:page-size每页条数numberdefaultPageInfo.pageSize
requestrequest 模式的数据加载函数Function—
searchSearch 透传配置;传 false 可隐藏搜索区object / false{}
tableTable 透传配置,默认带业务列表表格规范object{}
paramsrequest 模式附加参数object{}
post-data对 request 结果中的 data 做二次处理Function—
before-search-submit请求前转换搜索参数Function—
default-page-info默认分页参数object
default-page-size-list默认分页选项列表Array[10,20,50,100]
pagination分页配置;传 false 可关闭分页object / false—
page-info-map自定义 request 中的分页字段名object
search-slot是否将 plus-field-* / plus-label-* 等插槽映射到搜索区booleanfalse
sticky-pagination分页是否固定在表格可视区底部booleantrue
search-layoutdh-pro-search 的布局stringauto
search-coldh-pro-search 的列数number自动推导
search-label-width搜索区 label 宽度string / number100px
action-items业务操作列配置PcProActionItem[][]
show-more-filter是否展示“更多筛选”入口booleanfalse

其中 search 属性会继续透传给 dh-pro-search,所以像 advancedPanel、advancedTitle、advancedDescription 这类内建高级筛选面板能力,也可以直接在 ProPage 场景里使用。

Events ​

事件名说明回调参数
update:search-model搜索表单值变化(v: Record)
update:page页码变化(n: number)
update:page-size每页条数变化(n: number)
search点击查询(v: Record)
reset点击重置(v: Record)
open-advanced点击“更多筛选”—
request-errorrequest 失败(error)
request-completerequest 完成(result)
pagination-change页码或 pageSize 变化({ page, pageSize })

Slots ​

插槽名说明
search-footer自定义搜索按钮区
search-toolbar搜索区 footer 左侧业务操作区
advanced / advanced-nav / advanced-footer透传到搜索区内建高级筛选面板
table-title表格标题左侧区域
table-toolbar表格工具栏左侧区域
table-expand展开行
table-append表格底部附加区域
table-empty空状态
pagination-left / pagination-right分页器左右区域
plus-cell-* / plus-header-*自定义表格单元格 / 表头
plus-field-* / plus-label-* / plus-extra-* / plus-previous-*开启 search-slot 后映射到搜索区

Expose ​

方法名说明类型
getList手动触发 request 重新拉数Function
handleReset调用底层搜索区 resetFunction
setSearchFieldsValue批量设置搜索值Function
getSearchFieldsValue获取全部或单个搜索值Function
clearSearchFieldsValue清空搜索值Function
setTableData手动覆盖当前表格数据Function