react-native-omni-select
Version:
The omni-platform select component for React Native - iOS, Android, Web, Expo, Next.js SSR
24 lines • 1.1 kB
TypeScript
import React from 'react';
import { type ViewStyle } from 'react-native';
type ItemType = string | number | Record<string, any>;
interface DropdownProps<T extends ItemType = ItemType> {
data: T[];
value?: T | T[] | null;
onChange?: (value: T | T[] | null) => void;
labelField?: T extends object ? keyof T | ((item: T) => string) : never;
valueField?: T extends object ? keyof T | ((item: T) => any) : never;
placeholder?: string;
searchPlaceholder?: string;
noResultsText?: string;
search?: boolean;
multiple?: boolean;
disabled?: boolean;
style?: ViewStyle;
dropdownStyle?: ViewStyle;
itemStyle?: ViewStyle;
renderItem?: (item: T, isSelected: boolean) => React.ReactNode;
}
declare function Dropdown<T extends ItemType = ItemType>({ data, value, onChange, labelField, valueField, placeholder, searchPlaceholder, noResultsText, search, multiple, disabled, style, dropdownStyle, itemStyle, renderItem, }: DropdownProps<T>): React.JSX.Element;
export { Dropdown };
export type { DropdownProps, ItemType };
//# sourceMappingURL=Dropdown.d.ts.map