fix: add local state to query filter input
This commit is contained in:
committed by
Mathias Schopmans
parent
a07dd91c3d
commit
452def1318
@@ -1,4 +1,4 @@
|
|||||||
import { ChangeEvent } from "react";
|
import { ChangeEvent, useEffect, useState } from "react";
|
||||||
|
|
||||||
import Search from "../Icons/Search";
|
import Search from "../Icons/Search";
|
||||||
import styles from "./QueryFilter.module.css";
|
import styles from "./QueryFilter.module.css";
|
||||||
@@ -8,16 +8,23 @@ interface QueryFilterProps {
|
|||||||
onChange: (value: string) => void;
|
onChange: (value: string) => void;
|
||||||
}
|
}
|
||||||
export function QueryFilter({ value, onChange }: QueryFilterProps) {
|
export function QueryFilter({ value, onChange }: QueryFilterProps) {
|
||||||
|
const [val, setVal] = useState(value);
|
||||||
const _onChange = (e: ChangeEvent<HTMLInputElement>) => {
|
const _onChange = (e: ChangeEvent<HTMLInputElement>) => {
|
||||||
|
setVal(e.target.value);
|
||||||
onChange(e.target.value);
|
onChange(e.target.value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setVal(value);
|
||||||
|
}, [value]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.filter}>
|
<div className={styles.filter}>
|
||||||
<input
|
<input
|
||||||
className={styles.input}
|
className={styles.input}
|
||||||
|
id="search"
|
||||||
type="search"
|
type="search"
|
||||||
value={value}
|
value={val}
|
||||||
onChange={_onChange}
|
onChange={_onChange}
|
||||||
/>
|
/>
|
||||||
<button className={styles.button} type="submit">
|
<button className={styles.button} type="submit">
|
||||||
|
|||||||
Reference in New Issue
Block a user