Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

198
Vistas
Resalte los datos de PrimeReact Datatable usando react-highlight-words

Tengo PrimeReact DataTable con funcionalidad de búsqueda/filtro. Mi objetivo principal aquí es resaltar el texto o los datos en DataTable que coinciden con la entrada de búsqueda del usuario.

Usé react-highlight-words para resaltar los datos. Usando los accesorios textToHighlight , puedo resaltar el texto.

El problema:

  1. textToHighlight solo acepta cadenas y no tengo idea de cómo pasar el componente DataTable o sus datos en los accesorios.

Intenté lo siguiente:

  1. Paso el estado de Input en los accesorios textToHighlight pero, lamentablemente, imprime los datos fuera de la tabla.
  2. Traté de colocar el componente DataTable dentro del componente Highlighter , pero la tabla no se muestra.

Aquí está la imagen: ingrese la descripción de la imagen aquí

ThesisList.jsx

 // Search Box const renderHeader = () => { return ( <div className="flex justify-between"> <Button className="p-button-outlined" icon="pi pi-filter-slash" label="Clear" onClick={clearFilter} /> <span className="p-input-icon-left"> <i className="pi pi-search" /> <InputText placeholder="Search" value={globalFilterValue} onChange={onGlobalFilterChange} /> </span> </div> ); }; // The function who checks if the input matches the Filters (check initFilter()). const onGlobalFilterChange = (e) => { const value = e.target.value; let _filter = { ...filters }; _filter["global"].value = value; setFilters(_filter); setGlobalFilterValue(value); }; return ( <div className="p-4 w-full h-screen"> //As you can see here I used the Input state <Highlighter searchWords={[globalFilterValue]} textToHighlight={globalFilterValue} /> <DataTable> ... </DataTable> </div> );
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Cada columna en la tabla de datos de Primereact tiene un accesorio llamado body a través del cual podemos formatear las celdas, por lo que en su caso, puede pasar el Highlighter como el cuerpo de cada columna.

Aquí hay un ejemplo con la columna de título.

 <Datatable> ... <Column field="title" header="Title" body={(rowData) => ( <Highlighter searchWords={[globalFilterValue]} textToHighlight={rowData.title} /> )} /> ... </Datatable>
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda