1
resposta

[Dúvida] Excluir Time

Como fazer para quando clicar em um icone de lixeira, que coloquei ao lado do select dos times, excluir o time da lista suspensa?

Imagem do formulário com o icone de lixeira ao lado do select

1 resposta

Oi, Vitor! Como vai?

Pra excluir um time da lista suspensa ao clicar no ícone de lixeira, você precisa garantir que os times estejam num estado React. Depois disso, basta usar uma função pra filtrar e atualizar a lista.

Por exemplo:

import { useState } from "react";

function Formulario() {
  const [times, setTimes] = useState(['Programação', 'Design', 'Marketing']);
  const [timeSelecionado, setTimeSelecionado] = useState('Programação');

  const excluirTime = (timeParaExcluir) => {
    setTimes(times.filter(time => time !== timeParaExcluir));
    setTimeSelecionado(''); // limpa a seleção, opcional
  };

  return (
    <div>
      <select value={timeSelecionado} onChange={e => setTimeSelecionado(e.target.value)}>
        {times.map((time, index) => (
          <option key={index} value={time}>{time}</option>
        ))}
      </select>

      <button onClick={() => excluirTime(timeSelecionado)}>
        Excluir
      </button>
    </div>
  );
}

O que esse código faz:

  • useState armazena os times e o time selecionado.
  • O botão com ícone de lixeira chama a função excluirTime, que filtra a lista e atualiza o estado.
  • O select é atualizado automaticamente.

Esse é apenas um exemplo de como é possível fazer a remoção. Se tiver alguma dúvida no processo, conte com o apoio do Fórum. Fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado