React Bootstrap Typeahead
A React-based typeahead that relies on Bootstrap for styling and was originally inspired by Twitter's typeahead.js. It supports both single- and multi-selection and is compliant with WAI-ARIA authoring practices. Try the live examples.
Please note that documentation and examples apply to the most recent release and may no longer be applicable if you're using an outdated version.
Installation
npm install --save react-bootstrap-typeahead
or
yarn add react-bootstrap-typeahead
Include the module in your project:
import { Typeahead } from 'react-bootstrap-typeahead'; // ES2015
var Typeahead = require('react-bootstrap-typeahead').Typeahead; // CommonJS
UMD Build
Development and production builds are included in the NPM package. Alternatively, you can get them from CDNJS or unpkg.
Documentation
CSS
While the component relies primarily on Bootstrap, some additional styling is needed. You should include the provided CSS file in your project:
// Import as a module in your JS
import 'react-bootstrap-typeahead/css/Typeahead.css';
or
<!-- Link as a stylesheet in your HTML -->
<link
rel="stylesheet"
href="https://unpkg.com/react-bootstrap-typeahead/css/Typeahead.css"
/>
Bootstrap 5
In an effort to support Bootstrap 5, this package also contains a CSS file named Typeahead.bs5.css
that should be included alongside the base CSS file above.
Examples
Try the live examples, which also include code samples. If you'd like to modify the examples, clone the repository and run npm install
and npm start
to build the example file. You can then open the HTML file locally in your browser.
You can also try out the following sandbox examples:
- Windowing with large data sets
- Asynchronous pagination
- Combobox
- Validation and feedback
- Custom loader & clear button
- Multi-select with reorderable drag & drop tokens
- Keep the menu open during multi-selection
If you have an example use case that would be useful to others, please create a sandbox and submit a pull request to add it to the list!
Browser Support
Recent versions of the following browsers are supported:
- Chrome
- Firefox
- Edge
- Safari
Special thanks to BrowserStack for providing cross-browser testing support.