🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

react-bootstrap-typeahead

Package Overview
Dependencies
Maintainers
1
Versions
182
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-bootstrap-typeahead

React-based typeahead using the Bootstrap theme

0.1.6
Source
npm
Version published
Weekly downloads
194K
8.92%
Maintainers
1
Weekly downloads
 
Created
Source

React Bootstrap Typeahead

React-based typeahead component that uses standard the Bootstrap theme for as a base and supports both single- and multi-selection. Try a live example.

npm npm

Installation

It is highly recommended that you use npm to install the module in your project and build using a tool like webpack or browserify.

npm install react-bootstrap-typeahead

If you want to use the component in a standalone manner, both an unminified development version and a minified production version are included in the build folder.

Usage

react-bootstrap-typeahead works very much like any standard input element. It requires an array of options to display, similar to a select.

var Typeahead = require('react-bootstrap-typeahead');

<Typeahead
  onChange={this._handleChange}
  options={myData}
/>

Single & Multi-Selection

react-bootstrap-typeahead allows single-selection by default, but also supports multi-selection. Simply set the multiple prop and the component turns into a tokenizer:

<Typeahead
  multiple
  onChange={this._handleChange}
  options={myData}
/>

Controlled vs. Uncontrolled

Like an input, the component can be controlled or uncontrolled. Use the selected prop to control it via the parent, or defaultSelected to optionally set defaults and then allow the component to control itself.

<Typeahead
  onChange={this._handleChange}
  options={myData}
  selected={selected}
/>

Data

react-bootstrap-typeahead has some expectations about the shape of your data. It expects an array of objects, each of which should have a string property to be used as the label for display. By default, the key is named label, but you can specify a different key via the labelKey prop.

var myData = [
  {id: 1, name: 'John'},
  {id: 2, name: 'Miles'},
  {id: 3, name: 'Charles'},
  {id: 4, name: 'Herbie'},
];

<Typeahead
  labelKey="name"
  onChange={this._handleChange}
  options={myData}
/>

As far as the source of the data, the component simply handles rendering and selection. It is agnostic about the data source (eg: an async endpoint), which should be handled separately.

Example

An example file is included with the module. Simply open index.html in a browser. You can also try the live example.

Documentation

Props

NameTypeDefaultDescription
allowNewbooleanfalseAllows the creation of new selections on the fly. Note that any new items will be added to the list of selections, but not the list of original options unless handled as such by Typeahead's parent.
defaultSelectedarray[]Specify any pre-selected options. Use only if you want the component to be uncontrolled.
disabledbooleanWhether to disable the input. Will also disable selections when multiple={true}.
emptyLabelstring'No matches found.'Message to display in the menu if there are no valid results.
labelKeystring'label'Specify which option key to use for display. By default, the selector will use the label key.
maxHeightnumber300Maximum height of the dropdown menu, in px.
multiplebooleanfalseWhether or not multiple selections are allowed.
newSelectionPrefixstring'New selection:'Provides the ability to specify a prefix before the user-entered text to indicate that the selection will be new. No-op unless allowNew={true}.
options requiredarrayFull set of options, including any pre-selected options.
placeholderstringPlaceholder text for the input.
selectedarray[]The selected option(s) displayed in the input. Use this prop if you want to control the component via its parent.

Future Enhancements

  • Custom Token and MenuItem rendering
  • Create a new data item on the fly
  • Test coverage

Keywords

bootstrap

FAQs

Package last updated on 09 Mar 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts