import { createEffect, onMount, useContext } from 'solid-js'; import { debounce } from 'lodash-es'; import { Notice } from '../src/utils/notice'; import { useSearchParams } from '@solidjs/router'; import { GalleryGlobal } from './App'; export const SearchBar = () => { const [_, setSearchParams] = useSearchParams(); const { clearAndResearch, searchText, username } = useContext(GalleryGlobal); let searchInputEl: HTMLInputElement; const searching = debounce(async () => { setSearchParams({ q: searchText(), }); clearAndResearch(); }, 1000); createEffect(() => { searchText(); searching(); }); onMount(() => { if (_.q) { searchText(_.q); } }); return (
{ searchText(searchInputEl.value); }} />
{ clearAndResearch(); Notice.success('搜索成功'); }} > search
{ searchText((i) => `username:=${username()} ` + i); Notice.success('添加用户检索'); }} > account_box
); };