VictorGuedes
(usa CentOS)
Enviado em 24/06/2020 - 10:21h
Bom dia Galera!
Fiz uma tela de cadastro na aplicação usando popup. Para cadastro tudo certo, pois não preciso recolher informações.
Para fazer a tela de update, precisava que quando clicasse no link "Editar" ele buscasse a linha que eu cliquei para editar, porem em todas as tentativas de resolver isso ele pegou somente a primeira linha, fora que colocando o html do popup nessa ordem, ele foi parar la no canto direito.
Segue o codigo de uma das tentativas :
// Aqui é onde faço o select com todos ativos da carteira em tabela, e a DIV popup é exibida quando clico no link Editar. Não sei se é o lugar correto mas foi o mais proximo que consegui de fazer funcionar. Porem como ja explicado sempre pega o primeiro valor em vez da linha que cliquei
{ativo.map(row => (
<tr>
<input className="key" value={row._id} />
<td>{row.ativo}</td>
<td>{row.quantidade}</td>
<td>{row.data_entrada}</td>
<td>{row.valor_entrada}</td>
<td>{row.data_saida}</td>
<td>{row.valor_saida}</td>
<td>R${row.valor_saida - row.valor_entrada}</td>
<td><a onClick={edit}>Editar</a></td>
<div className="popupedit">
<div className="popupedit-content">
<img src={close} alt="close" onClick={fechar} className="close" width="20px" height="20px"/>
<center><input type="text" placeholder="Ativo"></input>
<input type="text" placeholder="Lotes"></input>
<div className="datacompra">
<input type="date" placeholder="Data da Compra" className="data"></input>
<input type="checkbox" className="check"></input><label className="check">Hoje</label>
</div>
<input type="text" placeholder="Valor da Compra"></input>
<div className="datacompra">
<input type="date" placeholder="Data da Compra" className="data"></input>
<input type="checkbox" className="check"></input><label className="check">Hoje</label>
</div>
<input type="text" placeholder="Valor da Venda"></input> </center>
<button className="button">Adicionar</button>
</div>
</div>
</tr>
// função que chama exibi o popup
function edit(){
document.querySelector(".popupedit").style.display = "flex";
}