@@ -8,7 +8,7 @@ import { makeStyles } from "@material-ui/core/styles"
8
8
import { Theme } from "@material-ui/core/styles/createTheme"
9
9
import SearchIcon from "@material-ui/icons/Search"
10
10
import debounce from "just-debounce-it"
11
- import { useCallback , useRef , useState } from "react"
11
+ import { useCallback , useEffect , useRef , useState } from "react"
12
12
import { getValidationErrorMessage } from "../../api/errors"
13
13
import { CloseDropdown , OpenDropdown } from "../DropdownArrows/DropdownArrows"
14
14
import { Stack } from "../Stack/Stack"
@@ -35,7 +35,10 @@ export const SearchBarWithFilter: React.FC<
35
35
> = ( { filter, onFilter, presetFilters, error, docs } ) => {
36
36
const styles = useStyles ( { error : Boolean ( error ) } )
37
37
const searchInputRef = useRef < HTMLInputElement > ( null )
38
-
38
+ const [ value , setValue ] = useState ( filter )
39
+ useEffect ( ( ) => {
40
+ setValue ( filter )
41
+ } , [ filter ] )
39
42
// debounce query string entry by user
40
43
// we want the dependency array empty here
41
44
// as we don't need to redefine the function
@@ -92,10 +95,11 @@ export const SearchBarWithFilter: React.FC<
92
95
< OutlinedInput
93
96
id = "query"
94
97
name = "query"
95
- defaultValue = { filter }
96
98
error = { Boolean ( error ) }
99
+ value = { value }
97
100
className = { styles . inputStyles }
98
101
onChange = { ( event ) => {
102
+ setValue ( event . currentTarget . value )
99
103
debouncedOnFilter ( event . currentTarget . value )
100
104
} }
101
105
inputRef = { searchInputRef }
0 commit comments