Como fazer para quando clicar em um icone de lixeira, que coloquei ao lado do select dos times, excluir o time da lista suspensa?
Como fazer para quando clicar em um icone de lixeira, que coloquei ao lado do select dos times, excluir o time da lista suspensa?
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.excluirTime
, que filtra a lista e atualiza o estado.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!