Skip to content

表格

useTableRefine useTable 的封装,主要用于扩展 TDesign 表格组件的功能。

TIP

Dux Refine 的表格组件与表格页面都使用了这个 hook 进行扩展。

使用这个 hook 将会自动请求当前路由对应资源的列表数据,并将其作为返回参数。

js
import { useTable } from '@duxweb/dux-refine'

const columns = []

const {
  data,
  pagination,
  selecteds,
  setSelecteds,
  selectOptions,
  sorters,
  setSorters,
  filters,
  setFilters,
  tableFilters,
  setTableFilters,
  refetch,
  loading,
} = useTable({
  pagination: {
    current: 0,
    pageSize: 10,
  },
  columns: columns,
  queryMeta: {
    // 获取查询参数
    params: {},
  },
})
import { useTable } from '@duxweb/dux-refine'

const columns = []

const {
  data,
  pagination,
  selecteds,
  setSelecteds,
  selectOptions,
  sorters,
  setSorters,
  filters,
  setFilters,
  tableFilters,
  setTableFilters,
  refetch,
  loading,
} = useTable({
  pagination: {
    current: 0,
    pageSize: 10,
  },
  columns: columns,
  queryMeta: {
    // 获取查询参数
    params: {},
  },
})

参数传递

useTable 的参数继承了 Refine useTable 的参数,请参阅具体文档。以下是新增的方法:

columns

  • 类型 PrimaryTableCol[]
  • 默认值: undefined

这个参数用于配置 TDesign Table 的列参数。


返回数据

返回的数据适用于 TDesign Table 组件,你可以根据需要将它们传递给组件。

data

  • 类型 Array<TData>
  • 默认值: undefined

表格数据,从资源的 API 请求后获得的列表数据。

filters

  • 类型 Record<string, any>
  • 默认值: undefined

筛选数据,在进行筛选操作后可以使用这个参数来获取筛选条件数据。

setFilters

  • 类型 (values: Record<string, unknown>) => void
  • 默认值: undefined

设置筛选条件,在使用该方法时可以设置额外的筛选条件。

tableFilters

  • 类型 FilterValue
  • 默认值: undefined

表格筛选数据,需要传递给 TDesign Table 组件的 filterValue 参数。

setTableFilters

  • 类型 (values: FilterValue) => void
  • 默认值: undefined

设置表格筛选数据,传递给 TDesign Table 组件的 onFilterChange 参数。

sorters

  • 类型 TableSort
  • 默认值: undefined

表格排序条件,传递给 TDesign Table 组件的 sort 参数。

import type { TableSort } from 'tdesign-react/esm'
import type { TableSort } from 'tdesign-react/esm'

setSorters

  • 类型 (sort: TableSort, options: SortOptions<TData>) => void
  • 默认值: undefined

设置表格排序条件,传递给 TDesign Table 组件的 onSortChange 参数。

import type { SortOptions } from 'tdesign-react/esm'
import type { SortOptions } from 'tdesign-react/esm'

selecteds

  • 类型 Array<string | number>
  • 默认值: undefined

表格选中数据,传递给 TDesign Table 组件的 selectedRowKeys 参数。

selectOptions

  • 类型 SelectOptions<TData>
  • 默认值: undefined

表格选中数据,获取到选中的条目数据。

import type { SelectOptions } from 'tdesign-react/esm'
import type { SelectOptions } from 'tdesign-react/esm'

setSelecteds

  • 类型 (selectedRowKeys: Array<string | number>, options: SelectOptions<TData>) => void
  • 默认值: undefined

设置表格选中数据,传递给 TDesign Table 组件的 setSelecteds 参数。

pagination

  • 类型 PaginationProps
  • 默认值: undefined

设置分页参数,传递给 TDesign Table 组件的 pagination 参数。

import type { PaginationProps } from 'tdesign-react/esm'
import type { PaginationProps } from 'tdesign-react/esm'

loading

  • 类型 boolean
  • 默认值: undefined

表格数据加载状态,传递给 TDesign Table 组件的 loading 参数。

refetch

  • 类型 () => void
  • 默认值: undefined

手动刷新表格数据的方法。默认情况下无需手动操作,Refine 提供了自动更新相关数据的机制。例如,在同一个资源下增加、删除或修改数据后,表格会自动获取新的列表数据。