A customisable, touchable, React single-select / multi-select form control.
npm install react-responsive-selectA customisable, touchable, React single-select / multi-select form control.
Built with keyboard and screen reader accessibility in mind.
- Single and Multi select modes
- Accessible WAI ARIA compliance
- Touch friendly
- Keyboard friendly
- Similar interaction experience across platforms
- Custom label rendering
- Custom option markup
- Option headers
- Mimics keyboard functionality where possible (sans multiselect)
- Easy slot-in to your design system
- It's about 25kb
> This select component was created many years ago when there was no React WCAG select available. Now there are plenty. I suggest using one of those, their communities and contributer lists are larger.
> I will continue to run patches on this one in the foreseeable future for security upgrades if any issues arise.
Install the dependency - https://www.npmjs.com/package/react-responsive-select
npm install react-responsive-select --save-dev
Example usage (Single Select):
``jsx
import React from 'react';
import { Select, CaretIcon, ModalCloseButton } from 'react-responsive-select';
// for default styles...
import 'react-responsive-select/dist/react-responsive-select.css';
const Form = () => (
Example usage (Multi Select):
`jsx
import React from 'react';
import { Select, CaretIcon, MultiSelectOptionMarkup, ModalCloseButton } from 'react-responsive-select';// for default styles...
import 'react-responsive-select/dist/react-responsive-select.css';
const Form = () => (
);
`Examples & Demo
https://benbowes.github.io/react-responsive-select/
API
https://benbowes.github.io/react-responsive-select/#/API
Screen Reader Demo
https://benbowes.github.io/react-responsive-select/#/Screen%20reader%20demo
Business Rules
Have a read of README_BUSINESS_RULES.md
Upgrade from v6 - v7
From version 7.0.0 on, you will need to use a
key` prop to update react-responsive-select's internal state. More on that here: https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#recommendation-fully-uncontrolled-component-with-a-keyThere are some examples in the recipe section here: https://benbowes.github.io/react-responsive-select/