react-select-combobox is a select control component which helps in narrowing down your results by selecting one or more options provided.
Install react-select-combobox with npm
npm install react-select-combobox
import React from 'react';
import { ComboBox } from 'react-select-combobox';
const dataProvider = [
{ label: 'Apple', value: 111 },
{ label: 'Pineapple', value: 112 },
{ label: 'Litchi', value: 113 },
{ label: 'Orange', value: 114 },
{ label: 'Banana', value: 115 },
];
export default function App() {
const [selectedItems, setSelectedItems] = React.useState([]);
return (
<div>
<ComboBox
dataProvider={dataProvider}
value={selectedItems}
onComplete={(value) => {
setSelectedItems(value);
}}
/>
</div>
);
}
import React from 'react';
import { ComboBox } from 'react-select-combobox';
const dataProvider = [
{ label: 'Apple', value: 111 },
{ label: 'Pineapple', value: 112 },
{ label: 'Litchi', value: 113 },
{ label: 'Orange', value: 114 },
{ label: 'Banana', value: 115 },
];
export default function App() {
const [selectedItems, setSelectedItems] = React.useState([
{ label: 'Apple', value: 111 },
{ label: 'Pineapple', value: 112 },
]);
return (
<div>
<ComboBox
dataProvider={dataProvider}
value={selectedItems}
onComplete={(value) => {
setSelectedItems(value);
}}
/>
</div>
);
}
import React from "react";
import { ComboBox, ComboBoxOptionsType } from "react-select-combobox";
const dataProvider = [
{ label: "Apple", value: 111 },
{ label: "Pineapple", value: 112 },
{ label: "Litchi", value: 113 },
{ label: "Orange", value: 114 },
{ label: "Banana", value: 115 }
];
export default function App() {
const [selectedItems, setSelectedItems] = React.useState<
ComboBoxOptionsType[] | ComboBoxOptionsType
>([]);
return (
<ComboBox
dataProvider={dataProvider}
value={selectedItems}
onComplete={(value) => {
setSelectedItems(value);
}}
/>
);
}
https://6480578bad52defd0eefe6ae-vbelaysmmu.chromatic.com/?path=/story/combo-box--simple
Common props you may want to specify include:
cancelText
- text which replaces CANCEL textdataProvider
- specify list of options for users to selectleftAdornment
- icon which appears left side of the Filter boxonComplete
- handler to get the selected items || [] on submitplaceHolder
- text which replaces Select... textprimaryColor
- color String which changes Button and Checkbox colorrightAdornment
- icon which appears right side of the Filter boxselectAllText
- text which replaces Select All textsubmitText
- text which replaces OK textvalue
- control the current value
- Customalizable
- Cross browser supported
- Light weighted
- Search and Filter options
Contributions are always welcome! For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
If you have any feedback, please reach out to us at techmatrix@softsuave.com