# rc-select --- React Select [![NPM version][npm-image]][npm-url] [![build status][travis-image]][travis-url] [![Test coverage][coveralls-image]][coveralls-url] [![Dependencies](https://img.shields.io/david/react-component/select.svg?style=flat-square)](https://david-dm.org/react-component/select) [![DevDependencies](https://img.shields.io/david/dev/react-component/select.svg?style=flat-square)](https://david-dm.org/react-component/select?type=dev) [![npm download][download-image]][download-url] [![Storybook](https://gw.alipayobjects.com/mdn/ob_info/afts/img/A*CQXNTZfK1vwAAAAAAAAAAABjAQAAAQ/original)](https://github.com/react-component/select) [Storybook]: https://github.com/storybooks/press/blob/master/badges/storybook.svg [npm-image]: http://img.shields.io/npm/v/rc-select.svg?style=flat-square [npm-url]: http://npmjs.org/package/rc-select [travis-image]: https://img.shields.io/travis/react-component/select.svg?style=flat-square [travis-url]: https://travis-ci.org/react-component/select [coveralls-image]: https://img.shields.io/coveralls/react-component/select.svg?style=flat-square [coveralls-url]: https://coveralls.io/r/react-component/select?branch=maste [node-image]: https://img.shields.io/badge/node.js-%3E=_0.10-green.svg?style=flat-square [node-url]: http://nodejs.org/download/ [download-image]: https://img.shields.io/npm/dm/rc-select.svg?style=flat-square [download-url]: https://npmjs.org/package/rc-select ## Screenshots ## Feature * support ie9,ie9+,chrome,firefox,safari ### Keyboard * Open select (focus input || focus and click) * KeyDown/KeyUp/Enter to navigate menu ## install [![rc-select](https://nodei.co/npm/rc-select.png)](https://npmjs.org/package/rc-select) ## Usage ### basic use ```js import Select, {Option, OptGroup} from 'rc-select'; var c = ( ); React.render(c, container); ``` ## API ### Select props | name | description | type | default | |----------|----------------|----------|--------------| |id | html id to set on the component wrapper | String | '' | |className | additional css class of root dom node | String | '' | |data-\* | html data attributes to set on the component wrapper | String | '' | |prefixCls | prefix class | String | '' | |animation | dropdown animation name. only support slide-up now | String | '' | |transitionName | dropdown css animation name | String | '' | |choiceTransitionName | css animation name for selected items at multiple mode | String | '' | |dropdownMatchSelectWidth | whether dropdown's with is same with select | bool | true | |dropdownClassName | additional className applied to dropdown | String | - | |dropdownStyle | additional style applied to dropdown | Object | {} | |dropdownAlign | additional align applied to dropdown | Object | {} | |dropdownMenuStyle | additional style applied to dropdown menu | Object | {} | |notFoundContent | specify content to show when no result matches. | String | 'Not Found' | |tokenSeparators | separator used to tokenize on tag/multiple mode | string[]? | | |open | control select open | bool | | |defaultOpen | control select default open | bool | | |placeholder | select placeholder | React Node | | |showSearch | whether show search input in single mode | bool | true | |showArrow | whether show arrow | bool | true (single mode), false (multiple mode) | |allowClear | whether allowClear | bool | false | |tags | when tagging is enabled the user can select from pre-existing options or create a new tag by picking the first choice, which is what the user has typed into the search box so far. | bool | false | |maxTagTextLength | max tag text length to show | number | - | |maxTagCount | max tag count to show | number | - | |maxTagPlaceholder | placeholder for omitted values | ReactNode/function(omittedValues) | - | |combobox | enable combobox mode(can not set multiple at the same time) | bool | false | |multiple | whether multiple select | bool | false | |disabled | whether disabled select | bool | false | |filterOption | whether filter options by input value. default filter by option's optionFilterProp prop's value | bool | true/Function(inputValue:string, option:Option) | |optionFilterProp | which prop value of option will be used for filter if filterOption is true | String | 'value' | |optionLabelProp | render option value or option children as content of select | String: 'value'/'children' | 'value' | |defaultValue | initial selected option(s) | String/Array | - | |value | current selected option(s) | String/Array/{key:String, label:React.Node}/Array<{key, label}> | - | |firstActiveValue | first active value when there is no value | String/Array | - | |labelInValue| whether to embed label in value, see above value type | Bool | false | |backfill| whether backfill select option to search input (Only works in single and combobox mode) | Bool | false | |onChange | called when select an option or input value change(combobox) | function(value, option:Option/Array