UNPKG

rn_ui_dropdown

Version:

`rn_ui_dropdown` is a customizable dropdown component for React Native that allows you to easily add a dropdown menu with options, selection handling, and dynamic rendering. It provides both single-select and multi-select modes

143 lines (94 loc) 4.31 kB
# rn_ui_dropdown `rn_ui_dropdown` is a customizable dropdown component for React Native that allows you to easily add a dropdown menu with options, selection handling, and dynamic rendering. It provides both single-select and multi-select modes ## Usage ### Single-select ```typescript import RnUiDropdown from 'rn_ui_dropdown'; const [selectedLocId, setSelectedLocId] = useState < any > null; const locationList = [ {value: 1, label: 'Delhi'}, {value: 2, label: 'Mumbai'}, {value: 3, label: 'Bengaluru'}, {value: 4, label: 'Goa'}, {value: 5, label: 'Chennai'}, {value: 6, label: 'Jaipur'}, {value: 7, label: 'Hyderabad'}, ]; <RnUiDropdown multiSelect={false} options={locationList} bindingProp={'value'} displayProp={'label'} selectedOption={selectedLocId} onSelectionChange={(val: any) => setSelectedLocId(val)} />; ``` ### Multi-select ```typescript import RnUiDropdown from 'rn_ui_dropdown'; const [selectedLocId, setSelectedLocId] = useState < any > []; const locationList = [ {value: 1, label: 'Delhi'}, {value: 2, label: 'Mumbai'}, {value: 3, label: 'Bengaluru'}, {value: 4, label: 'Goa'}, {value: 5, label: 'Chennai'}, {value: 6, label: 'Jaipur'}, {value: 7, label: 'Hyderabad'}, ]; <RnUiDropdown multiSelect={true} options={locationList} bindingProp={'value'} displayProp={'label'} selectedOption={selectedLocId} onSelectionChange={(val: any) => setSelectedLocId(val)} />; ``` ## Single-select Screenshots <p align="left"> <img src="https://raw.githubusercontent.com/vaibhavpandeyprayag/rn_ui_dropdown/main/src/ss_default_ss.png" alt="Screenshot 1" width="300" /> <img src="https://raw.githubusercontent.com/vaibhavpandeyprayag/rn_ui_dropdown/main/src/ss_options_ss.png" alt="Screenshot 2" width="300" /> <img src="https://raw.githubusercontent.com/vaibhavpandeyprayag/rn_ui_dropdown/main/src/ss_selected_ss.png" alt="Screenshot 3" width="300" /> </p> ## Multi-select Screenshots <p align="left"> <img src="https://raw.githubusercontent.com/vaibhavpandeyprayag/rn_ui_dropdown/main/src/ms_options_ss.png" alt="Screenshot 1" width="300" /> <img src="https://raw.githubusercontent.com/vaibhavpandeyprayag/rn_ui_dropdown/main/src/ms_options_selected_ss.png" alt="Screenshot 2" width="300" /> <img src="https://raw.githubusercontent.com/vaibhavpandeyprayag/rn_ui_dropdown/main/src/ms_selected_ss.png" alt="Screenshot 3" width="300" /> </p> ## Properties ### options: any[] The list/array of object where every object represents an option. ### selectedOption: any The variable/state which contains the selected option. ### multiSelect: boolean Boolean to switch to single-select/multi-select mode. In case of single-select, pass single value (null for default) in selectedOption. And for multi-select, pass array in selectedOption ([] for default). ### bindingProp: string The property of option which is stored in state specified as 'selectedOption'. ### displayProp: string The property of option which is displayed when an option is selected. ### containerStyle (optional): ViewStyle | TextStyle | ImageStyle | FlexStyle Style for overall dropdown. ### selectedOptionStyle (optional): ViewStyle | TextStyle | ImageStyle | FlexStyle Style for the area of selected option. ### selectedOptionTextStyle (optional): ViewStyle | TextStyle | ImageStyle | FlexStyle Style for the text of selected option. ### optionsStyle (optional): ViewStyle | TextStyle | ImageStyle | FlexStyle Style for the options. ### optionsTextStyle (optional): ViewStyle | TextStyle | ImageStyle | FlexStyle Style for the text of options. ### searchBoxStyle (optional): ViewStyle | TextStyle | ImageStyle | FlexStyle Style for the search box. ### searchTextStyle (optional): ViewStyle | TextStyle | ImageStyle | FlexStyle Style for the text inside search box. ### placeholderText (optional): string Placeholder text for dropdown when no option is selected ### searchPlaceholderText (optional): string Placeholder text for search box ## Functions ### onSelectionChange: Function The function which is called when an option is selected. ### onSearchTextChange (optional): Function The optional function which is called when search text is changed. By default, when search text changes, it filters the options based on the text.