Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

200
Visualizações
Resaltar caracteres en una cadena en React

Estoy tratando de crear un componente de autocompletar donde los caracteres relevantes se resaltan en las sugerencias de búsqueda a medida que el usuario escribe.

La forma en que se me ocurrió resaltar los personajes es este JSX

 {suggestion.substring(0, ind) + <mark>{suggestion.substring(ind, val.length)}</mark> + suggestion.substring(val.length, suggestion.length)}

pero representa un `[Objeto Objeto] en lugar de la cadena.

¿Cómo puedo corregir esto?

Aquí está mi código completo

 searchSuggestions .filter((suggestion) => { const lowerSuggestion = suggestion.toLowerCase(); const val = eventValue.toLowerCase(); console.log("lowersuggestion is", lowerSuggestion, val); return lowerSuggestion.indexOf(val) > -1; }) .map((suggestion) => { const lowerSuggestion = suggestion.toLowerCase(); const val = eventValue.toLowerCase(); const ind = lowerSuggestion.indexOf(val); console.log("ind is", ind, typeof suggestion); return ( <div> {suggestion.substring(0, ind) + <mark>{suggestion.substring(ind, val.length)}</mark> + suggestion.substring(val.length, suggestion.length)} </div> ); })

Suponiendo que searchSuggestions es una matriz de cadenas. ¿Cómo debo hacerlo?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

<mark es un elemento JSX, que es un objeto. Cuando lo interpole (o la mayoría de los objetos) en una cadena, obtendrá [object Object] .

En su lugar, use una matriz, de modo que se interpole en el JSX, en lugar de interpolarse en una cadena.

 <div> {[ suggestion.substring(0, ind), <mark>{suggestion.substring(ind, val.length)}</mark>, suggestion.substring(val.length, suggestion.length) ]} </div>
about 4 years ago · Juan Pablo Isaza Relatório

0

Hubo un problema con el JSX en sí, lo resolví cambiándolo a

 {suggestion.substring(0, ind)} <mark style={{ backgroundColor: "#f7e7d0" }}> {suggestion.substring(ind, ind + val.length)} </mark> {suggestion.substring(ind + val.length, suggestion.length)}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda