1
resposta

[Projeto] Praticando - 02-Armazenando dados na Web

Resolução de código divido em funções e com comentários sobre o módulo 02 de "Armazenando dados na Web".

// Buscando o form e a lista no DOM
const form = document.getElementById("novoItem");
const lista = document.getElementById("lista");

// Criando Array de itens adicionados
const itens = [];


// Listener do botão Adicionar
form.addEventListener("submit", (evento) => {
    // Previnindo o refresh da página
    evento.preventDefault();

    // Recebendo os valores de nome e quantidade dos elementos de input
    const nome = evento.target.elements['nome'].value;
    const quantidade = evento.target.elements['quantidade'].value;

    // chamando a função de criar elemento na lista
    criaElemento(nome, quantidade);
    
    // Chama a função para limpar formulário
    limpaForm(evento);
})

function criaElemento(nome, quantidade) {
    // Criando elemento "li" e add a classe "item"
    const novoItem = document.createElement('li');
    novoItem.classList.add("item");

    // Criando elemento "strong" e incluíndo a quantidade
    const numeroItem = document.createElement('strong');
    numeroItem.innerHTML = quantidade;

    // Inserindo o elemento "strong" no elemento "li" com o nome
    novoItem.appendChild(numeroItem);
    novoItem.innerHTML += nome;

    // Inserindo o elemento "li" no elemento "lista"
    lista.appendChild(novoItem);

    // Chamanado a função do LocalStorage
    inserirNoLocalStorage(nome, quantidade);

    
}

function inserirNoLocalStorage(nome, quantidade){

    // Criando um objeto com os dados
    const itemAtual = {
        "nome": nome,
        "quantidade": quantidade
    }

    // Inserindo o objeto no Array itens
    itens.push(itemAtual);

    //Setando o Array de itens no localStorage
    localStorage.setItem("item", JSON.stringify(itens));
}


function limpaForm(evento) {
    // Setando o valor dos elementos em ""
    evento.target.elements['nome'].value = "";
    evento.target.elements['quantidade'].value = "";
}
1 resposta

Olá, Kaye!

Muito bacana sua evolução a cada novo tópico, seus códigos estão com um texto muito fácil de compreender e isso é excelente, muito bem comentado e os nomes das variáveis, ficaram ótimas mesmo, Boa!

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

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