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

127
Visualizações
Cambie el color del campo de entrada dependiendo de si hay una coincidencia

Estoy intentando algo bastante simple, supongo, pero parece que no puedo hacerlo funcionar correctamente. Así que estoy usando un campo de entrada para filtrar una serie de objetos, lo que funciona medianamente bien en este momento (eso significa que no estoy seguro de si la condición está configurada correctamente; a veces muestra los resultados correctos, a veces no).

de todos modos, me gustaría cambiar el color de fondo dependiendo de si hay objetos que coincidan con la entrada o no.

Por favor, ¿alguien puede ayudarme a solucionar esto? Este es mi código:

 const [searchInput, setSearchInput] = useState(''); const [isValid, setIsValid] = useState(true) const style = (isValid ? 'searched' : ''); const searchItems = (searchValue) => { setSearchInput(searchValue) if (searchInput !== '') { const filteredData = allData.filter((project) => { return Object.values(project).join('').toLowerCase().includes(searchInput.toLowerCase()) }) setFilteredResults(filteredData) setIsValid(true) } else{ setFilteredResults(allData) setIsValid(false) } }

y la entrada:

 <label className="searchbar"> <input className={style} placeholder="A Visual Practice" onFocus={(e) => e.target.placeholder = "Search for?"} onBlur={(e) => e.target.placeholder = "A Visual Practice"} onChange={(e) => searchItems(e.target.value)} /> </label>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Después de establecer el estado de entrada de búsqueda, el componente se volverá a representar. Entonces lo que yo haría es lo siguiente:

  • Use el estado de estilo para verificar si la entrada es válida o no y, en lugar de almacenar una cadena, almacene un valor booleano (verdadero para una entrada válida). Llamaría a este estado isValid y setIsValid.

  • Antes de la devolución del componente, cree una constante para su estilo

    estilo const = ${isValid ? 'searched' : ''} ;

Debido a que el componente se volverá a representar cada vez que cambie un estado, la constante de estilo se cambiará en función del estado isValid. Esta constante se puede usar como una clase para su componente.

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