@@ -50,18 +50,17 @@ const items: Item[] = [
50
50
51
51
export const Dropdown : React . FC < Props > = ( { onSelect, values } ) => {
52
52
const [ inputValue , setInputValue ] = useState < string > ( '' ) ;
53
- const [ selectedOptions , setSelected ] = useState < Item [ ] > ( values ) ;
53
+ // const [selectedOptions, setSelected] = useState<Item[]>(values);
54
54
const [ isFocused , setFocused ] = useState < Boolean > ( false ) ;
55
55
56
56
const handleSelect = ( item : Item ) => {
57
57
let newOptions = [ ] ;
58
- if ( selectedOptions . some ( ( el ) => el . value === item . value ) ) {
59
- newOptions = selectedOptions . filter ( ( el ) => el . value !== item . value ) ;
58
+ if ( values . some ( ( el ) => el . value === item . value ) ) {
59
+ newOptions = values . filter ( ( el ) => el . value !== item . value ) ;
60
60
} else {
61
- newOptions = [ ...selectedOptions , item ] ;
61
+ newOptions = [ ...values , item ] ;
62
62
}
63
63
64
- setSelected ( newOptions ) ;
65
64
onSelect ( newOptions ) ;
66
65
} ;
67
66
@@ -95,8 +94,7 @@ export const Dropdown: React.FC<Props> = ({ onSelect, values }) => {
95
94
96
95
const handleCloseClick = ( item : Item ) => ( event ) => {
97
96
event . stopPropagation ( ) ;
98
- const newArr = selectedOptions . filter ( ( el ) => el . value !== item . value ) ;
99
- setSelected ( newArr ) ;
97
+ const newArr = values . filter ( ( el ) => el . value !== item . value ) ;
100
98
onSelect ( newArr ) ;
101
99
} ;
102
100
@@ -117,9 +115,9 @@ export const Dropdown: React.FC<Props> = ({ onSelect, values }) => {
117
115
onFocus = { handleFocus }
118
116
onBlur = { handleBlur }
119
117
>
120
- { selectedOptions . length === 0
118
+ { values . length === 0
121
119
? null
122
- : selectedOptions . map ( ( item : Item ) => {
120
+ : values . map ( ( item : Item ) => {
123
121
return (
124
122
< div className = "multivalue" key = { item . value } >
125
123
< span className = "multivalue-name" > { item . name } </ span >
@@ -155,7 +153,7 @@ export const Dropdown: React.FC<Props> = ({ onSelect, values }) => {
155
153
key = { item . value }
156
154
className = { classNames ( 'item' , {
157
155
active : highlightedIndex === index ,
158
- selected : selectedOptions . some ( ( el ) => el . value === item . value ) ,
156
+ selected : values . some ( ( el ) => el . value === item . value ) ,
159
157
} ) }
160
158
{ ...getItemProps ( item , index ) }
161
159
>
0 commit comments