Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Turma segue meu código até aqui!

Tentei muito fazer o update e o remove antes de ver as aulas, mas não consegui!

mas já tive uma ideia do porquê de não estar conseguindo!

mas vai o que tenho até aqui!

index.js

const form = document.getElementById('novo-item')
const lista = document.querySelector('.lista')
var itens = JSON.parse(localStorage.getItem('itens')) || []

form.addEventListener('submit', (event) => {
  event.preventDefault()
  captarDados(event)
})

const validarDados = (nome, qtd) => (nome && qtd ? true : false)

function captarDados(e) {
  let nome = e.target.elements['nome-item']
  let quantidade = e.target.elements['qtd-item']

  let dados = {
    nome: nome.value,
    quantidade: quantidade.value
  }

  if (validarDados(nome, quantidade)) {
    criarElemento(dados)
    setDados(dados)
  } else {
    alert('Favor preencher todos os campos!')
  }

  nome.value = ''
  quantidade.value = ''
}

function criarElemento(array) {
  let novoItem = `<strong class="qtd-item">${array.quantidade}</strong>`
  novoItem += `<span class="nome-item">${array.nome}</span>`
  novoItem += `<button class="del-btn">x</button>`
  let li = document.createElement('li')
  li.classList.add('lista__item')
  li.innerHTML = novoItem
  lista.appendChild(li)
}

function setDados(array) {
  const itemAtual = {
    nome: array.nome,
    quantidade: array.quantidade
  }

  itens.push(itemAtual)
  localStorage.setItem('itens', JSON.stringify(itens))
}

function getDados() {
  let dados = JSON.parse(localStorage.getItem('itens')) || []
  if (dados != null) {
    dados.forEach((element) => {
      itens.push(element)
    })
  }

  return itens
}

function preencher(array) {
  let dados = array
  dados.forEach((el) => {
    criarElemento(el)
  })
}
preencher(getDados())
1 resposta
solução!

Oi Antonio, tudo bem?

Muito obrigada por compartilhar com a gente o seu código, assim pode ajudar outras pessoas com dificuldade e parabéns por praticar!

Continue os bons estudos.

Um abraço.

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