diff --git a/examples/src/app.js b/examples/src/app.js index cb06945ba6..5068e08ccf 100644 --- a/examples/src/app.js +++ b/examples/src/app.js @@ -5,6 +5,7 @@ import Select from 'react-select'; import CustomRenderField from './components/CustomRenderField'; import MultiSelectField from './components/MultiSelectField'; +import GroupedOptionsField from './components/GroupedOptionsField'; import RemoteSelectField from './components/RemoteSelectField'; import SelectedValuesField from './components/SelectedValuesField'; import StatesField from './components/StatesField'; @@ -36,6 +37,7 @@ React.render( + diff --git a/examples/src/components/GroupedOptionsField.js b/examples/src/components/GroupedOptionsField.js new file mode 100644 index 0000000000..f17fe265c1 --- /dev/null +++ b/examples/src/components/GroupedOptionsField.js @@ -0,0 +1,71 @@ +import React from 'react'; +import Select from 'react-select'; + +function logChange() { + console.log.apply(console, [].concat(['Select value changed:'], Array.prototype.slice.apply(arguments))); +} + +var ops = [{ + label: 'Black', + value: 'black', +}, { + label: 'Primary Colors', + options: [{ + label: 'Yellow', + value: 'yellow' + }, { + label: 'Red', + value: 'red' + }, { + label: 'Blue', + value: 'blue' + }] +}, { + label: 'Secondary Colors', + options: [{ + label: 'Orange', + value: 'orange' + }, { + label: 'Purple', + options: [{ + label: 'Light Purple', + value: 'light_purple' + }, { + label: 'Medium Purple', + value: 'medium_purple' + }, { + label: 'Dark Purple', + value: 'dark_purple' + }] + }, { + label: 'Green', + value: 'green' + }] +}, { + label: 'White', + value: 'white', +}]; + +var GroupedOptionsField = React.createClass({ + displayName: 'GroupedOptionsField', + propTypes: { + delimiter: React.PropTypes.string, + label: React.PropTypes.string, + multi: React.PropTypes.bool, + }, + + render () { + return ( +
+

{this.props.label}

+