3
respostas

Erro da função dataParaTexto e linha duplicada

Quando tento inserir uma negociacao função DateHelper.dataParaTexto() lança o erro de data fora do padrão yyyy-mm-dd e a data é inserida na tabela com o formato : Wed Aug 03 2016 21:00:00 GMT-0300 (Horário Padrão de Brasília)

Verifiquei que o n.data dentro do map no template estava retornando um objeto data e por isso criei outra função no DateHelper que converte um objeto data para texto:

static dateObtToText(date){
        if(!date instanceof Date) throw new Error('O valor passado não é um objeto Date');
        return `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`;
    }

com isso consegui inserir a data no padrão dd/mm/yyyy

Porém agora uma nova

aparece junto a que estou incluindo, com os valores vazios. E a tabela fica com duas negociacoes, uma que eu inseri e outra vazia. não consegui descobrir o por que.

3 respostas

Oi Henrique tudo bem?

Poderia colocar seu projeto no github por gentileza. Assim conseguimos analisar ele melhor.

Olá André, agradeço pela atenção e peço perdão pela demora a responder.

aqui o repositório: https://github.com/henriquesbezerra/aluraframe

Não tem problema demorar pra responder, respeito a rotina de vocês. Nós moderadores que temos que responder assim que possível.

Olhei seu projeto e dentro da index.js tem um código que tá criando as células extras, pode apagar ele que fica tudo ok.

    var tr = document.createElement('tr');

    campos.forEach(function(campo){
        var td = document.createElement('td');
        td.textContent = campo.value;
        tr.appendChild(td);
    });

    var tdVolume = document.createElement('td');
    tdVolume.textContent = campos[1].value * campos[2].value;
    tr.appendChild(tdVolume);

    var tbody = document.querySelector('table tbody');
    tbody.appendChild(tr);

Espero ter ajudado!!!