Não sei o que tem de errado no código, mas não funciona.
const form = document.getElementById('novoitem')
const lista = document.getElementById('lista')
const itens = JSON.parse(localStorage.getItem('itens')) || []
itens.forEach((elemento) => {
criarElemento(elemento)
})
form.addEventListener('submit', (evento) => {
evento.preventDefault()
const nome = evento.target.elements['nome'];
const quantidade = evento.target.elements['quantidade'];
const existe = itens.find(elemento => elemento.nome === nome.value)
console.log(existe)
const itemAtual = {
'nome': nome.value,
'quantidade': quantidade.value
}
if (existe) {
itemAtual.id = existe.id
atualizaElemento(itemAtual)
} else {
itemAtual.id = itemAtual.length
criarElemento(itemAtual)
itens.push(itemAtual)
}
localStorage.setItem('itens', JSON.stringify(itens))
nome.value = ""
quantidade.value = ""
})
function criarElemento(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
}