@@ -4,6 +4,7 @@ import { useState, useEffect } from "react"
44const useAutocomplete = ( { value, onInputChange, autocompleteProps = { } } ) => {
55 const [ autocompleteOpen , setAutocompleteOpen ] = useState ( )
66 const { suggestions = [ ] } = autocompleteProps || { }
7+ const [ filteredSuggestions , setFilteredSuggestions ] = useState ( suggestions )
78
89 const close = useCallback ( ( ) => setAutocompleteOpen ( false ) , [ setAutocompleteOpen ] )
910
@@ -18,12 +19,14 @@ const useAutocomplete = ({ value, onInputChange, autocompleteProps = {} }) => {
1819 )
1920
2021 useEffect ( ( ) => {
21- if ( suggestions . length ) {
22- setAutocompleteOpen ( ! ! value . length )
22+ if ( suggestions . length && ! ! value ) {
23+ const filtered = suggestions . filter ( ( { label } ) => label . includes ( value ) )
24+ setFilteredSuggestions ( filtered )
25+ setAutocompleteOpen ( ! ! filtered . length )
2326 }
24- } , [ suggestions , value , setAutocompleteOpen ] )
27+ } , [ value , suggestions , setAutocompleteOpen , setFilteredSuggestions ] )
2528
26- return { autocompleteOpen, close, suggestions , onItemClick }
29+ return { autocompleteOpen, close, filteredSuggestions , onItemClick }
2730}
2831
2932export default useAutocomplete
0 commit comments