@@ -16,7 +16,9 @@ const getSelectValue = (stateValue, simpleValue, isMulti, allOptions) => {
1616
1717 if ( hasSelectAll || hasSelectNone ) {
1818 enhancedValue = enhancedValue || [ ] ;
19- const optionsLength = allOptions . filter ( ( { selectAll, selectNone } ) => ! selectAll && ! selectNone ) . length ;
19+ const optionsLength = allOptions . filter (
20+ ( { selectAll, selectNone, divider, options } ) => ! selectAll && ! selectNone && ! divider && ! options
21+ ) . length ;
2022
2123 const selectedAll = optionsLength === enhancedValue . length ;
2224 const selectedNone = enhancedValue . length === 0 ;
@@ -43,7 +45,7 @@ const handleSelectChange = (option, simpleValue, isMulti, onChange, allOptions,
4345 const sanitizedOption = ! enhanceOption && isMulti ? [ ] : enhanceOption ;
4446
4547 if ( isMulti && sanitizedOption . find ( ( { selectAll } ) => selectAll ) ) {
46- return onChange ( allOptions . filter ( ( { selectAll, selectNone } ) => ! selectAll && ! selectNone ) . map ( ( { value } ) => value ) ) ;
48+ return onChange ( allOptions . filter ( ( { selectAll, selectNone, value } ) => ! selectAll && ! selectNone && value ) . map ( ( { value } ) => value ) ) ;
4749 }
4850
4951 if ( isMulti && sanitizedOption . find ( ( { selectNone } ) => selectNone ) ) {
@@ -142,6 +144,7 @@ const Select = ({
142144 onChange = { ( ) => { } }
143145 { ...loadingProps }
144146 noOptionsMessage = { renderNoOptionsMessage ( ) }
147+ { ...( state . originalOptions && { originalOptions : state . originalOptions } ) }
145148 />
146149 ) ;
147150 }
@@ -191,6 +194,7 @@ const Select = ({
191194 noOptionsMessage = { renderNoOptionsMessage ( ) }
192195 hideSelectedOptions = { false }
193196 closeMenuOnSelect = { ! isMulti }
197+ { ...( state . originalOptions && { originalOptions : state . originalOptions } ) }
194198 />
195199 ) ;
196200} ;
0 commit comments