Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Reload na página

Opa bom dia!

Compartilho da mesma, não consegui entender porque esta dando reload na página quando excluimos o cliente. O código funciona, mas pelo que entendi, não deveria recarregar a página. Já usei o preventDefault().

Segue abaixo o código.

import { clienteService } from '../service/cliente-service.js';

const criaNovaLinha = (nome, email, id) => {
    const linhaNovoCliente = document.createElement('tr');
    const conteudo = `
    <td class="td" data-td>${nome}</td>
    <td>${email}</td>
    <td>
        <ul class="tabela__botoes-controle">
            <li>
                <a href="../telas/edita_cliente.html?id=${id}" 
                class="botao-simples botao-simples--editar">Editar</a>
            </li>
            <li>
                <button class="botao-simples botao-simples--excluir" type="button">
                    Excluir
                </button>
            </li>
        </ul>
    </td>`  

    linhaNovoCliente.innerHTML = conteudo;
    linhaNovoCliente.dataset.id = id;   // cria um data atributs com o valor do id

    return linhaNovoCliente;
}

const tabela = document.querySelector('[data-tabela]');

tabela.addEventListener('click', (event) => {
    event.preventDefault();
    const ehBotaoDeletar =   event.target .className === `botao-simples botao-simples--excluir`;

    if (ehBotaoDeletar) {
        // metodo closest, indica o mais proximo do [data-id]
        const linhaCliente = event.target.closest('[data-id]');
        let id = linhaCliente.dataset.id;
        clienteService.removeCliente(id).then(() => {
            linhaCliente.remove();
        })
        // no meu codigo não precisou inserir o .then acima para 
        // deletar a linha do html,  possivelmente pelo reload na página

    }
})
3 respostas
solução!

Fala ai Helderson, tudo bem? Isso pode estar ocorrendo por N razões, eu precisaria do projeto para dar uma analisada com mais calma.

Sendo assim, posso te pedir um favor? Compartilha o projeto completo comigo, assim eu consigo simular o problema por aqui.

Pode compartilhar o projeto através do Github ou Google Drive (zipado).

Fico no aguardo.

Opa Matheus! Consegui aqui refazer e ficou tudo certinho. Brigadão!

Boa Helderson, fico feliz que tenha resolvido o problema.

Sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.