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

313
Visualizações
How to show one values in select options while passing to state other?

So I need to show "Yes" or "No" in the dropdown, but to pass "admin" or "member" to api. Right now I'm doing it via ternary operator, checking either e.target.value or I also checked state "role" when passing it to api request, and it worked. But is there any other, nicer and more reliable way?

 export function EditableRole({
      employee,
      onSave,
      onCancel,
    }: EditableRoleProps) {

  const [role, setRole] = useState("MEMBER");

  const handleSave = () => api.updateUser(role)


  return (
    <div className={styles.wrapperEditable}>
      <Dropdown
        className={styles.dropdownRole}
        options={["Yes", "No"]}
        value={role}
        onChange={(e) =>
          setRole(e.target.value === "Yes" ? Role.ADMIN : Role.MEMBER)
        }
      />
      <Icon name="tick" onClick={() => handleSave()} />
      <Icon name="cancel" onClick={onCancel} />
    </div>
  );
}

Below is my Dropdown component:

export interface DropdownProps {
  label?: string;
  id?: string;
  options: string[];
  value: string;
  onChange: (e: ChangeEvent<HTMLSelectElement>) => void;
  className?: any;
}

export function Dropdown({
  label,
  id,
  options,
  onChange,
  className,
}: DropdownProps) {
  return (
    <div className={styles.wrapper}>
      <label className={styles.labeltext} htmlFor={id}>
        {label}
      </label>
      <select
        id={id}
        className={cx(className, styles.dropdown)}
        onChange={onChange}
      >
        {options.map((option) => (
          <option key={option}>{option}</option>
        ))}
      </select>
    </div>
  );
}
about 4 years ago · Santiago Gelvez
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