useDebounce
import { List, ListItem, ListItemText, TextField } from "@olenbetong/appframe-mui";
import { useDebounce, useData } from "@olenbetong/appframe-react";
function MySearchComponent() {
let [input, setInput] = useState("");
let query = useDebounce(input);
let results = useData(
dsMyDataObject,
{
filter: query
? query
.split(/\s+/) // split by whitespace
.map((word) => `[SearchColumn] LIKE '%${word}%'`)
.join(" AND ")
: false,
}
);
return (
<>
<TextField
label="search"
value={input}
onChange={(evt) => setInput(evt.target.value)}
/>
<List>
{results.map((result) => (
<ListItem key={result.PrimKey}>
<ListItemText
primary={result.Title}
secondary={result.Description}
/>
</ListItem>
))}
</List>
</>
);
}API
Last updated
Was this helpful?