GitXplorerGitXplorer
t

react-bootstrap-combobox

public
7 stars
0 forks
1 issues

Commits

List of commits on branch master.
Unverified
a519b842419df758aff1fccbd5c97d2a1980cb6d

[fixed] flow ignore fbjs

tthealjey committed 9 years ago
Unverified
aaa6ed11b28df730039c9e09ff0a8d2c3fe7a91f

Release v2.1.0

tthealjey committed 9 years ago
Unverified
af924f1c7f5f4a8e0baa77cbc288bace84b2a145

[added] release tools

tthealjey committed 9 years ago
Unverified
3bf88f56306fecef7571120ea30be0e63dbb29f5

[removed] compiled development resources from the repo

tthealjey committed 9 years ago
Unverified
4d4ac047c3be47ffe1e05f59c3d8816053ae69b9

[fixed] updated to NodeJS v4.1.2

tthealjey committed 9 years ago
Unverified
fd386720c0fbbed8e28cbf87a7661184a677ea32

[added] eslintrc to support in-editor linting

tthealjey committed 9 years ago

README

The README file for this repository.

react-bootstrap-combobox

A combo-box component for React Bootstrap.

Project Home | API Docs

Build Status Coverage Status Code Climate Dependency Status devDependency Status peerDependency Status npm version Slack channel

This is a very simple stateless wrapper around DropdownButton and MenuItem.

Features

  1. Minimizes the number of characters one would need to type when building a component in this fashion
  2. Provides a good looking dropdown component, built on Twitter Bootstrap, customizable with SASS, that works and looks the same in all major browsers
  3. The dropdown menu has a maximum height automatically calculated to prevent it from overflowing the viewport
  4. Provides a number of performance optimizations, both in JavaScript and CSS

Hint

Do not forget to set the NODE_ENV environment variable to "production" in production to get some instant performance increase from React for free!

Installation

npm i react-bootstrap-combobox --save

Usage

You need to include the "_index.scss" file from this package. If you are using webcompiler then you can simply do:

// import Bootstrap
@import "bootstrap";
// import Bootstrap theme
@import "bootstrap/theme";
// import the component
@import "react-bootstrap-combobox";

and then:

import {Combo} from 'react-bootstrap-combobox';

function someFunc(key: string) {
  ...
}

<Combo items={{
  // keys must be unique
  sweden: {label: 'Sweden', header: true}, // any combination of props supported by MenuItem
  volvo: 'Volvo',                          // same as {label: 'Volvo'}
  saab: 'Saab',
  separator: '-',                          // same as {divider: true}
  germany: {label: 'Germany', header: true},
  mercedes: 'Mercedes',
  audi: 'Audi'
}} value="volvo" onChange={someFunc} />

Caveats

  1. Both items and value are required props
  2. The component is stateless, which means that its value cannot be changed without re-rendering it
  3. For performance reasons items are considered immutable