@@ -16,7 +16,9 @@ const getSelectValue = (stateValue, simpleValue, isMulti, allOptions) => {
16
16
17
17
if ( hasSelectAll || hasSelectNone ) {
18
18
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 ;
20
22
21
23
const selectedAll = optionsLength === enhancedValue . length ;
22
24
const selectedNone = enhancedValue . length === 0 ;
@@ -43,7 +45,7 @@ const handleSelectChange = (option, simpleValue, isMulti, onChange, allOptions,
43
45
const sanitizedOption = ! enhanceOption && isMulti ? [ ] : enhanceOption ;
44
46
45
47
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 ) ) ;
47
49
}
48
50
49
51
if ( isMulti && sanitizedOption . find ( ( { selectNone } ) => selectNone ) ) {
@@ -142,6 +144,7 @@ const Select = ({
142
144
onChange = { ( ) => { } }
143
145
{ ...loadingProps }
144
146
noOptionsMessage = { renderNoOptionsMessage ( ) }
147
+ { ...( state . originalOptions && { originalOptions : state . originalOptions } ) }
145
148
/>
146
149
) ;
147
150
}
@@ -191,6 +194,7 @@ const Select = ({
191
194
noOptionsMessage = { renderNoOptionsMessage ( ) }
192
195
hideSelectedOptions = { false }
193
196
closeMenuOnSelect = { ! isMulti }
197
+ { ...( state . originalOptions && { originalOptions : state . originalOptions } ) }
194
198
/>
195
199
) ;
196
200
} ;
0 commit comments