Skip to content

useTablePage

useTablePage 是列表页 Hook,统一管理表格组件与搜索组件的引用,并提供刷新表格数据的快捷方法。

引入

ts
import useTablePage from '@sud-web/vue-hooks/useTablePage'

@sud-web/vue-hooks 通过子路径导出 Hook,需使用 /useTablePage 引入。

基础用法

tableRef / searchRef 分别绑定到表格与搜索组件,requestTable 调用表格实例的 requestData 刷新数据。下方示例配合 PcSearchPcTable 使用 mock 接口。

loading

PcSearch 触发的是 request 事件(点击搜索/重置),因此监听 @request 而非 @search

API

返回值

字段类型初始值说明
tableRefRef<PcTableInstance | null>null表格组件引用
searchRefRef<PcSearchInstance | null>null搜索组件引用
requestTable(type?: "reset" | "default") => void调用表格的 requestData 刷新数据

类型 PcTableInstance / PcSearchInstance 直接从 @sud-web/vue-ui 导入,无需手动传入。

requestTable 行为

入参说明
requestTable()默认以 reset 调用,回到第一页重新请求
requestTable('reset')重置分页后请求
requestTable('default')保持当前分页请求

tableRef 尚未挂载(为 null)时,requestTable 会安全跳过,不会抛错。

类型声明

ts
import type { PcTableInstance, PcSearchInstance } from '@sud-web/vue-ui'

function useTablePage(): {
  tableRef: Ref<PcTableInstance | null>
  searchRef: Ref<PcSearchInstance | null>
  requestTable: (type?: "reset" | "default") => void
}

测试

bash
cd packages/vue/hooks
pnpm test