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

100
Visualizações
REACT - Convierta una selección de un menú desplegable en una etiqueta de etiqueta

¿Hay alguna manera de convertir una selección de un menú desplegable a una etiqueta con el color apropiado (ver la imagen)?

ItemDisplay.jsx

 export default function ItemDisplay() { ... const colourStyles = { singleValue: (provided, { data }) => ({ ...provided, backgroundColor: data.value === "Good" ? "#36B37E" : data.value === "Medium" ? "#FF8B00" : data.value === "Bad" ? "#FF5630" : "" }) }; ... return ( ... <Dropdown style={styles.select} options={TASTE} defaultValue={TASTE.find((t) => t.label === item.taste)} styleSelect={colourStyles} /> </div> ... ); }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Lo que puede hacer es tener otro componente de etiqueta que reemplace el menú desplegable cada vez que seleccione un elemento:

 export default function CustomDropdown({ style, options, styleSelect, defaultValue }) { const [selected, setSelected] = React.useState(defaultValue); const backgroundColor = styleSelect?.(selected?.label) ?? "grey"; const Tag = () => { return ( <div style={{display: "flex", justifyContent:"space-around", padding: "0.2em",backgroundColor: backgroundColor, borderRadius: "2px", color:"white"}}> {selected.label} <button style={{backgroundColor: "transparent", color:"white", border: "none", cursor: "pointer"}} onClick={() => setSelected(null)}>x</button> </div> ) } return ( <div style={style}> {selected ? <Tag /> : <Select value={selected} onChange={setSelected} options={options} /> } </div> ); }

Idealmente, debe crear un archivo adecuado para el componente de etiqueta y pasar la propiedad seleccionada al componente.

También cambié la implementación de colourStyles y lo convertí en una función que devuelve el color adecuado según la selección:

 const colourStyles = (selected) => { switch(selected){ case "Good": return "#36B37E"; case "Medium": return "#FF8B00"; case "Bad": return "#FF5630"; default: return "" } };
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