Searchable Select MUI
npm install @dccs/react-searchable-select-muiA simple custom select component including a searchfield.
Here is a Demo:https://dccs-it-business-solutions.github.io/react-searchable-select-mui/
You should install react-searchable-select-mui with npm or yarn:
npm install @dccs/react-searchable-select-mui
or
yarn add @dccs/react-searchable-select-mui
This command will download and install react-searchable-select-mui
Peer Dependencies:
npm install @material-ui/core
SearchableSelect renders the following simplified structure:
``javascript`
All Material UI-Select Props get passed to the Select Component https://material-ui.com/api/select/
Native is not supported.
Multiple is not supported yet.
Additional Props:
| Name | Type | Description |
| ---------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| label | string | Label of the Select Component |string
| searchFieldPlaceholder | | Gets passed to the placeholder property of string
| removeSelectionText | | Text für the Remove Selection MenuItem. Default: "Remove selection" |KeyValuePair[] or any[]
| options | | Options to render. By default it expects an array like this: [{key:1, value:"Entry 1"}, {key:2, value:"Entry 2"}]. |(option:KeyValuePair or any)=>any
| keyPropFn | | Required function if you want to use a different property names for key and value. If you want to use id instead of key: keyPropFn={(option: any) => option.id} |(option:KeyValuePair or any)=>any
| valuePropFn | | Required function if you want to use a different property names for key and value. If you want to use name instead of value: valuePropFn={(option: any) => option.name} |boolean
| formControlProps | https://material-ui.com/api/form-control/ | Props that get passed to the formcontrol component |
| formHelperTextProps | https://material-ui.com/api/form-helper-text/ | Props that get passed to the FormHelperText component |
| showAll | | If true it shows all available options. Undefined or false shows 20 per default |number
| maxVisibleOptions | | Set the number of visible options to show. (Choose number below 50 since MUI-MenuItems are very laggy) |
`javascript
const Example = () => {
const [value, setValue] = React.useState
const handleChange = (
event: React.ChangeEvent<{ name?: string; value: unknown }>
) => {
setValue(event.target.value);
};
return (
value={value}
onChange={handleChange}
options={[
{ id: 1, value: "Entry 1" },
{ id: 2, value: "Entry 2" },
{ id: 3, value: "Entry 3" }
]}
/>
);
};
`
With Custom Prop Names
`javascript``
value={value}
onChange={handleChange}
options={[
{ name: 1, property: "Entry 1" },
{ name: 2, property: "Entry 2" },
{ name: 3, property: "Entry 3" }
]}
keyPropFn={(option: any) => option.name}
valuePropFn={(option: any) => option.property}
/>
@dccs/react-searchable-select-mui is MIT licensed