1
resposta

[Projeto] Consolidando conhecimento

Apresentando o código gerado em aula:

const form = document.getElementById('novoItem');
const lista = document.getElementById('lista');
const itens = JSON.parse(localStorage.getItem('itens')) || [];

itens.forEach( (e) => {
    criaElemento(e)
})

form.addEventListener('submit', (evento) => {
    evento.preventDefault()

    const nome = evento.target.elements['nome'];
    const quantidade = evento.target.elements['quantidade'];

    const existe = itens.find(e => e.nome === nome.value)

    const itemAtual = {
        nome: nome.value,
        quantidade: quantidade.value
    };

    if(existe){
        itemAtual.id = existe.id

        atualizaElemento(itemAtual)

        itens[existe.id] = itemAtual

    }   else {
        itemAtual.id = itens.length

        criaElemento(itemAtual)

        itens.push(itemAtual)
    }

    localStorage.setItem("itens", JSON.stringify(itens));

    nome.value = "";
    quantidade.value = "";

    nome.focus();
});

function criaElemento(item) {
    const novoItem = document.createElement('li');
    novoItem.classList.add("item");

    const numeroItem = document.createElement('strong');
    numeroItem.innerHTML = item.quantidade;
    numeroItem.dataset.id = item.id
    novoItem.appendChild(numeroItem);

    novoItem.innerHTML += item.nome;

    lista.appendChild(novoItem);


}

function atualizaElemento (item) {
    document.querySelector("[data-id='"+item.id+"']").innerHTML = item.quantidade
}
1 resposta

Oi Neto, tudo bem?

Parabéns por se desafiar e cumprir as atividades! É muito legal ver o seu empenho em aprender e aplicar o conhecimento. Tenha certeza de que essas atividades vão te auxiliar bastante e ajudar a fixar o que você aprendeu até agora.

Continue se dedicando e aproveite todas as oportunidades para praticar e expandir seus conhecimentos. Quanto mais você se envolver em projetos e desafios, mais experiência ganhará e mais confiante se tornará como programador.

Reforço que qualquer dúvida, me coloco à disposição! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software