drip-table
Version:
A tiny and powerful enterprise-class solution for building tables.
43 lines (42 loc) • 2.19 kB
TypeScript
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;