diff --git a/examples/src/components/Multiselect.js b/examples/src/components/Multiselect.js index 3142e75ef9..16442dd3f8 100644 --- a/examples/src/components/Multiselect.js +++ b/examples/src/components/Multiselect.js @@ -21,6 +21,7 @@ var MultiSelectField = React.createClass({ }, getInitialState () { return { + remove: true, disabled: false, crazy: false, options: FLAVOURS, @@ -31,6 +32,9 @@ var MultiSelectField = React.createClass({ console.log('You\'ve selected:', value); this.setState({ value }); }, + toggleRemove (e) { + this.setState({ remove: e.target.checked }); + }, toggleDisabled (e) { this.setState({ disabled: e.target.checked }); }, @@ -45,9 +49,13 @@ var MultiSelectField = React.createClass({ return (

{this.props.label}

-
+
- {isOpen ? this.renderOuter(options, !this.props.multi ? valueArray : null, focusedOption) : null} + {isOpen ? this.renderOuter(options, valueArray, focusedOption) : null}
); } diff --git a/src/utils/defaultMenuRenderer.js b/src/utils/defaultMenuRenderer.js index b5ba47b0bf..6de53d5a15 100644 --- a/src/utils/defaultMenuRenderer.js +++ b/src/utils/defaultMenuRenderer.js @@ -18,7 +18,7 @@ function menuRenderer ({ let Option = optionComponent; return options.map((option, i) => { - let isSelected = valueArray && valueArray.indexOf(option) > -1; + let isSelected = valueArray && valueArray.findIndex(x => x[valueKey] == option[valueKey]) > -1; let isFocused = option === focusedOption; let optionClass = classNames(optionClassName, { 'Select-option': true,