Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

92
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!