Socket
Socket
Sign inDemoInstall

react-virtualized-select

Package Overview
Dependencies
20
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    react-virtualized-select

Drop-down menu for React with windowing to support large numbers of options.


Version published
Weekly downloads
28K
decreased by-22.17%
Maintainers
1
Install size
8.00 MB
Created
Weekly downloads
 

Changelog

Source

3.1.3

  • Added cursor: pointer style by defalut to select options.

Readme

Source

React Virtualized Select

NPM version NPM license NPM total downloads NPM monthly downloads PayPal donate button Patreon donate button

Demos available here: http://bvaughn.github.io/react-virtualized-select/

react-virtualized-select example

Getting started

Install react-virtualized-select using npm.

npm install react-virtualized-select --save

ES6, CommonJS, and UMD builds are available with each distribution. For example:

// Make sure to import default styles.
// This only needs to be done once; probably during bootstrapping process.
import 'react-select/dist/react-select.css'
import 'react-virtualized/styles.css'
import 'react-virtualized-select/styles.css'

// Then import the virtualized Select HOC
import VirtualizedSelect from 'react-virtualized-select'

Alternately you can load a global-friendly UMD build:

<link rel="stylesheet" href="path-to-react-select/dist/react-select.css">
<link rel="stylesheet" href="path-to-react-virtualized/styles.css">
<link rel="stylesheet" href="path-to-react-virtualized-select/styles.css">

<script src="path-to-react-virtualized-select/dist/umd/react-virtualized-select.js"></script>

Simple Example

react-select-virtualized works just like react-select. You pass it an array of options, along with any other parameters supported by the Select component. Here's a simple example:

import React, { Component } from 'react'
import VirtualizedSelect from 'react-virtualized-select'

import 'react-select/dist/react-select.css'
import 'react-virtualized/styles.css'
import 'react-virtualized-select/styles.css'

class MySelect extends Component {
  constructor (props) {
    super(props)

    this.state = {}
  }

  render () {
    const options = [
      { label: "One", value: 1 },
      { label: "Two", value: 2 },
      { label: "Three", value: 3, disabled: true }
      // And so on...
    ]

    return (
      <VirtualizedSelect
        options={options}
        onChange={(selectValue) => this.setState({ selectValue })}
        value={this.state.selectValue}
      />
    )
  }
}

React Virtualized Select Props

The additional parameters introduced by react-select-virtualized are optional. They are:

PropertyTypeDescription
asyncPropTypes.boolUse Select.Async internally; if this property is specified then a loadOptions method should also be used.
maxHeightPropTypes.numberMax height of options menu; defaults to 200 pixels.
optionHeightPropTypes.number or PropTypes.funcOption height (defaults to 35 pixels). Dynamic height can be supported via a function with the signature ({ option: Object }): number
optionRendererPropTypes.funcCustom option renderer; (see below for signature).
selectComponentPropTypes.funcUse a specific select HOC (eg Select, Select.Creatable, Select.Async or Select.AsyncCreatable); defaults to Select (or Select.Async if async flag is true).

Custom Option Renderer

You can override the built-in option renderer by specifying your own optionRenderer property. Your renderer should return a React element that represents the specified option. It will be passed the following named parameters:

PropertyTypeDescription
focusedOptionObjectThe option currently-focused in the dropdown. Use this property to determine if your rendered option should be highlighted or styled differently.
focusedOptionIndexnumberIndex of the currently-focused option.
focusOptionFunctionCallback to update the focused option; for example, you may want to call this function on mouse-over.
keystringA unique identifier for each element created by the renderer.
labelKeystringAttribute of option that contains the display text.
optionObjectThe option to be rendered.
optionsArray<Object>Array of options (objects) contained in the select menu.
selectValueFunctionCallback to update the selected values; for example, you may want to call this function on click.
styleObjectStyles that must be passed to the rendered option. These styles are specifying the position of each option (required for correct option displaying in the dropdown).
valueArrayArray<Object>Array of the currently-selected options. Use this property to determine if your rendered option should be highlighted or styled differently.
valueKeystringAttribute of option that contains the value.

FAQs

Last updated on 02 Feb 2018

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc