react-multi-select-component
Simple and lightweight multiple selection dropdown component with checkboxes, search and select-all.
✨ Features
- ? Lightweight (~4KB)
- ? Themeable
- ✌ Written w/ TypeScript
? Installation
? Example
? Props
Prop | Description | Type | Default |
---|---|---|---|
labelledBy |
value for aria-labelledby |
string |
|
options |
options for dropdown | [{label, value}] |
|
value |
pre-selected rows | [{label, value}] |
[] |
focusSearchOnOpen |
focus on search input when opening | boolean |
true |
hasSelectAll |
toggle 'Select All' option | boolean |
true |
isLoading |
show spinner on select | boolean |
false |
shouldToggleOnHover |
toggle dropdown on hover option | boolean |
false |
overrideStrings |
Override default strings for i18n | object |
|
onChange |
onChange callback | function |
|
disabled |
disable dropdown | boolean |
false |
selectAllLabel |
select all label | string |
|
disableSearch |
hide search textbox | boolean |
false |
filterOptions |
custom filter options | function |
Fuzzy Search |
className |
class name for parent component | string |
multi-select |
? Custom filter logic
By default this component uses fuzzy search algorithm to filter options but also allows you to opt-out and use your own logic if you want to below is the example doing just case insensitive search
Internationalization
You can override the strings to be whatever you want, including translations for your languages.
? Themeing
You can override css variables to customize appearance