react-dropdown

WebJar for react-dropdown

License

License

MIT
Categories

Categories

React User Interface Web Frameworks
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

react-dropdown
Last Version

Last Version

1.7.0
Release Date

Release Date

Type

Type

jar
Description

Description

react-dropdown
WebJar for react-dropdown
Project URL

Project URL

https://www.webjars.org
Source Code Management

Source Code Management

https://github.com/fraserxu/react-dropdown

Download react-dropdown

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/react-dropdown/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>react-dropdown</artifactId>
    <version>1.7.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/react-dropdown/
implementation 'org.webjars.npm:react-dropdown:1.7.0'
// https://jarcasting.com/artifacts/org.webjars.npm/react-dropdown/
implementation ("org.webjars.npm:react-dropdown:1.7.0")
'org.webjars.npm:react-dropdown:jar:1.7.0'
<dependency org="org.webjars.npm" name="react-dropdown" rev="1.7.0">
  <artifact name="react-dropdown" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='react-dropdown', version='1.7.0')
)
libraryDependencies += "org.webjars.npm" % "react-dropdown" % "1.7.0"
[org.webjars.npm/react-dropdown "1.7.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : classnames jar [2.2.3,3)

Project Modules

There are no modules declared in this project.

react-dropdown

NPM version Downloads

Simple Dropdown component for React, inspired by react-select

Why

  • The default HTML select element is hard to style
  • And sometime we also want grouped menus
  • if you want more advanced select, check react-select

Installation

// with npm
$ npm install react-dropdown  --save

// with yarn
$ yarn add react-dropdown

Changelog

If you want to support React version under v0.13, use [email protected]

Usage

This is the basic usage of react-dropdown

import Dropdown from 'react-dropdown';
import 'react-dropdown/style.css';

const options = [
  'one', 'two', 'three'
];
const defaultOption = options[0];
<Dropdown options={options} onChange={this._onSelect} value={defaultOption} placeholder="Select an option" />;

Options

Flat Array options

const options = [
  'one', 'two', 'three'
];

Object Array options

const options = [
  { value: 'one', label: 'One' },
  { value: 'two', label: 'Two', className: 'myOptionClassName' },
  {
   type: 'group', name: 'group1', items: [
     { value: 'three', label: 'Three', className: 'myOptionClassName' },
     { value: 'four', label: 'Four' }
   ]
  },
  {
   type: 'group', name: 'group2', items: [
     { value: 'five', label: 'Five' },
     { value: 'six', label: 'Six' }
   ]
  }
];

When using Object options you can add to each option a className string to further customize the dropdown, e.g. adding icons to options

Disabling the Dropdown

Just pass a disabled boolean value to the Dropdown to disable it. This will also give you a .Dropdown-disabled class on the element, so you can style it yourself.

<Dropdown disabled onChange={this._onSelect} value={defaultOption} placeholder="Select an option" />;

Customizing the dropdown

className

The className prop is passed down to the wrapper div, which also has the Dropdown-root class.

<Dropdown className='myClassName' />;

controlClassName

The controlClassName prop is passed down to the control div, which also has the Dropdown-control class.

<Dropdown controlClassName='myControlClassName' />;

placeholderClassName

The placeholderClassName prop is passed down to the placeholder div, which also has the Dropdown-placeholder class.

<Dropdown placeholderClassName='myPlaceholderClassName' />;

menuClassName

The menuClassName prop is passed down to the menu div (the one that opens and closes and holds the options), which also has the Dropdown-menu class.

<Dropdown menuClassName='myMenuClassName' />;

arrowClassName

The arrowClassName prop is passed down to the arrow span , which also has the Dropdown-arrow class.

<Dropdown arrowClassName='myArrowClassName' />;

arrowClosed, arrowOpen

The arrowClosed & arrowOpen props enable passing in custom elements for the open/closed state arrows.

<Dropdown
  arrowClosed={<span className="arrow-closed" />}
  arrowOpen={<span className="arrow-open" />}
/>;

Check more examples in the example folder.

Run example

$ npm start

License

MIT | Build for CSViz project @Wiredcraft

Versions

Version
1.7.0
1.6.4
1.6.2
1.5.0