Saltar al contenido

Resaltar texto usando ReactJS

Te damos la bienvenida a nuestro espacio, en este sitio vas a hallar la solucíon a lo que andabas buscando.

Solución:

Aquí está mi método de ayuda simple de dos líneas:

getHighlightedText(text, highlight) 
    // Split text on highlight term, include term itself into parts, ignore case
    const parts = text.split(new RegExp(`($highlight)`, 'gi'));
    return parts.map(part => part.toLowerCase() === highlight.toLowerCase() ? part : part);

Devuelve un lapso, donde las partes solicitadas se resaltan con etiquetas Esto se puede modificar simplemente para usar otra etiqueta si es necesario.

ACTUALIZAR: Para evitar ser único key advertencia faltante, aquí hay una solución basada en tramos y configuración del estilo fontWeight para las partes coincidentes:

getHighlightedText(text, highlight) 
    // Split on highlight term and include term into parts, ignore case
    const parts = text.split(new RegExp(`($highlight)`, 'gi'));
    return   parts.map((part, i) => 
        
             part 
        )
     ;

Aquí hay un ejemplo de un componente de reacción que usa el estándar etiqueta para resaltar un texto:

const Highlighted = (text = '', highlight = '') => 
   if (!highlight.trim()) 
     return text
   
   const regex = new RegExp(`($_.escapeRegExp(highlight))`, 'gi')
   const parts = text.split(regex)
   return (
     
        parts.filter(part => part).map((part, i) => (
            regex.test(part) ? part : part
        ))
    
   )

Y aquí está cómo usarlo


Ya hay un componente de reacción en NPM para hacer lo que quieras:

var Highlight = require('react-highlighter');
[...]
name

Si sostienes algún titubeo o capacidad de desarrollar nuestro reseña puedes añadir una crítica y con placer lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *