input
Search

InputSearch

El componente InputSearch permite realizar búsquedas de manera eficiente y personalizable. Incluye soporte para resultados de búsqueda, filtros por pestañas y opciones de carga adicional.

Ejemplo

Importación

Para importar el componente InputSearch, se puede hacer desde fenextjs

import { InputSearch } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
classNameSearchstringno''Clase CSS para personalizar el contenedor del campo de búsqueda.
classNameSearchBgstringno''Clase CSS para el fondo del campo de búsqueda.
classNameSearchContentResultstringno''Clase CSS para el contenedor de resultados de búsqueda.
classNameSearchResultstringno''Clase CSS para los elementos de resultado de búsqueda.
placeholderstringno'Search'Texto que se muestra cuando el campo de búsqueda está vacío.
iconReactNodeno<SVGSearch />Ícono que se muestra en el campo de búsqueda.
iconClearReactNodeno<Close />Ícono que se muestra para limpiar la búsqueda.
onSearch(value: string, tabFilter?: InputSearchTabFilterProps[]) => Promise<InputSearchResultProps[]>noundefinedFunción que se llama al realizar una búsqueda, pasando el valor y los filtros de pestañas.
onEnterSearch(value: string) => voidnoundefinedFunción que se ejecuta al presionar Enter en el campo de búsqueda.
onClearSearch() => voidnoundefinedFunción que se ejecuta al limpiar el campo de búsqueda.
onClickSearch(result: InputSearchResultProps) => voidnoundefinedFunción que se ejecuta al hacer click en un resultado de búsqueda.
useResultbooleannofalseIndica si se debe mostrar la lista de resultados de búsqueda.
useLoadMorebooleannotrueIndica si se debe permitir cargar más resultados.
ButtonLoadMorePropsOmit<ButtonProps, 'onClick'>no{ children: 'Load More' }Propiedades para el botón de carga adicional.
resultListInputSearchResultProps[]noundefinedLista de resultados de búsqueda que se muestran.
resultEmptyReactNodeno<Title tag='h4'>Not Results</Title>Contenido que se muestra cuando no hay resultados de búsqueda.
resultPreSearchReactNodeno<Title tag='h4'>Search</Title>Contenido que se muestra antes de realizar una búsqueda.
listTabFilterInputSearchTabFilterProps[]no[]Lista de filtros por pestañas que se pueden aplicar a la búsqueda.
defaultTabFilterSelectedInputSearchTabFilterProps[]no[]Lista de filtros por pestañas seleccionados por defecto.
onChangeTabFilterSelected(selected: InputSearchTabFilterProps[]) => voidnoundefinedFunción que se ejecuta al cambiar los filtros por pestañas seleccionados.

Storybook

Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)

Usos

  • Búsqueda básica
<InputSearch onSearch={async (value) => await fetchResults(value)} />
  • Búsqueda con carga de más resultados
<InputSearch
  onSearch={async (value) => await fetchResults(value)}
  useLoadMore={true}
/>
  • Búsqueda con filtros por pestañas
<InputSearch
  onSearch={async (value) => await fetchResults(value)}
  useTabFilter={true}
  listTabFilter={[{ id: "tab1", text: "Tab 1" }]}
/>