@ucloud-fe/react-components
Version:
UCloud react components
24 lines (23 loc) • 790 B
TypeScript
import { ReactNode } from 'react';
interface SearchResult<T> {
dataSource: T[];
count?: number | null;
empty?: boolean;
}
declare const useSearch: <T extends {
title: ReactNode | string;
key: string;
children?: T[] | undefined;
}>({ dataSource, searchValue, handleSearch, onSearchEnd, defaultDataSourceAfterSearch }: {
dataSource?: T[] | undefined;
searchValue?: string | undefined;
handleSearch?: ((searchValue: string, dataSource: T[]) => SearchResult<T> | Promise<SearchResult<T>>) | undefined;
onSearchEnd?: ((searchResult: any) => void) | undefined;
defaultDataSourceAfterSearch?: T[] | undefined;
}) => {
dataSource: T[];
loading: boolean;
count: number | void | null;
error: Error | undefined;
};
export default useSearch;