import type { TableColumnType } from 'antd'; import type { LabelTooltipType } from 'antd/lib/form/FormItemLabel'; import React from 'react'; import type { ActionType, OptionSearchProps, ProTableProps } from '../../typing'; import type { ListToolBarProps } from '../ListToolBar'; export type SettingOptionType = { draggable?: boolean; checkable?: boolean; showListItemOption?: boolean; checkedReset?: boolean; listsHeight?: number; extra?: React.ReactNode; children?: React.ReactNode; settingIcon?: React.ReactNode; }; export type OptionConfig = { density?: boolean; fullScreen?: OptionsType; reload?: OptionsType; setting?: boolean | SettingOptionType; search?: (OptionSearchProps & { name?: string; }) | boolean; reloadIcon?: React.ReactNode; densityIcon?: React.ReactNode; }; export type OptionsFunctionType = (e: React.MouseEvent, action?: ActionType) => void; export type OptionsType = OptionsFunctionType | boolean; export type ToolBarProps = { headerTitle?: React.ReactNode; tooltip?: string | LabelTooltipType; /** @deprecated 你可以使用 tooltip,这个更改是为了与 antd 统一 */ tip?: string; toolbar?: ListToolBarProps; toolBarRender?: (action: ActionType | undefined, rows: { selectedRowKeys?: (string | number)[]; selectedRows?: T[]; }) => React.ReactNode[]; action: React.MutableRefObject; options?: OptionConfig | false; optionsRender?: ToolbarRenderProps['optionsRender']; selectedRowKeys?: (string | number)[]; selectedRows?: T[]; className?: string; onSearch?: (keyWords: string) => void; columns: TableColumnType[]; }; export type ToolbarRenderProps = { hideToolbar: boolean; onFormSearchSubmit: (params: any) => void; searchNode: React.ReactNode; tableColumn: any[]; tooltip?: string | LabelTooltipType; selectedRows: T[]; selectedRowKeys: React.Key[] | (string | number)[]; headerTitle: React.ReactNode; toolbar: ProTableProps['toolbar']; options: ProTableProps['options']; optionsRender?: (props: ToolBarProps, defaultDom: React.ReactNode[]) => React.ReactNode[]; toolBarRender?: ToolBarProps['toolBarRender']; actionRef: React.MutableRefObject; }; /** 这里负责与table交互,并且减少 render次数 */ declare class ToolbarRender extends React.Component> { onSearch: (keyword: string) => void; isEquals: (next: ToolbarRenderProps) => boolean; shouldComponentUpdate: (next: ToolbarRenderProps) => boolean; render: () => import("react/jsx-runtime").JSX.Element | null; } export default ToolbarRender;