UNPKG

drip-table

Version:

A tiny and powerful enterprise-class solution for building tables.

43 lines (42 loc) 2.19 kB
import './index.less'; import React from 'react'; import { type DripTableExtraOptions, type DripTableProps, type DripTableRecordTypeBase, type DripTableRecordTypeWithSubtable } from "../types"; import { type IDripTableContext } from "../hooks"; import { type ExtractDripTableExtraOption } from "../index"; /** * 暴露给外部直接操作实例的接口 */ export interface DripTableWrapperContext<RecordType extends DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, ExtractDripTableExtraOption<ExtraOptions, 'SubtableDataSourceKey'>> = DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, never>, ExtraOptions extends Partial<DripTableExtraOptions> = never> { /** * 当前选中行数据 */ selectedRowKeys: IDripTableContext<RecordType, ExtraOptions>['state']['selectedRowKeys']; /** * 通过接口选择行 * * @param selectedRowKeys 选中的行标识符数组 */ select: (selectedRowKeys: IDripTableContext<RecordType, ExtraOptions>['state']['selectedRowKeys']) => void; /** * 当前显示列数据 */ displayColumnKeys: IDripTableContext<RecordType, ExtraOptions>['state']['displayColumnKeys']; /** * 通过接口设置展示列 * * @param displayColumnKeys 展示列标识符数组 */ setDisplayColumnKeys: (displayColumnKeys: IDripTableContext<RecordType, ExtraOptions>['state']['displayColumnKeys']) => void; /** * 当前排序器 */ sorter: IDripTableContext<RecordType, ExtraOptions>['state']['sorter']; /** * 通过接口设置当前排序 * * @param sorter 目标排序设置 */ setSorter: (sorter: Omit<IDripTableContext<RecordType, ExtraOptions>['state']['sorter'], 'comparer'> | null) => void; } declare const DripTableWrapper: <RecordType extends DripTableRecordTypeWithSubtable<DripTableRecordTypeBase, ExtractDripTableExtraOption<ExtraOptions, "SubtableDataSourceKey">>, ExtraOptions extends Partial<DripTableExtraOptions> = never>(props: DripTableProps<RecordType, ExtraOptions> & React.RefAttributes<DripTableWrapperContext<RecordType, ExtraOptions>>) => (React.ReactElement | null); export default DripTableWrapper;