1
resposta

Duvida no método criarTarefa,

Tenho uma dúvida sobre esse método criarTarefa, não entendi porque preciso utilizar o return.


mport botaoConclui from "./componentes/concluirTarefa.js";
import botaoRemover from "./componentes/deletarTarefa.js";

const handleNovoItem = (event) => {
  event.preventDefault();

  const lista = document.querySelector("[data-list]");

  const pegaInput = document.querySelector("[data-form-input");
  const pegaCalendario = document.querySelector("[data-form-data-time]");
  const dataFormatada = moment(pegaCalendario.value).format("DD/MM/YYYY");
  const valor = pegaInput.value;

  const criaTarefa = criarTarefa({valor,dataFormatada});

  lista.appendChild(criaTarefa);

  pegaInput.value = "";
};

/** Método de visualização */
const criarTarefa = ({valor, dataFormatada}) => {
  //Cria elemento DOM
  const tarefa = document.createElement("li");

  //Adicona Classe na li
  tarefa.classList.add("task");

  //cria um parágrafo
  const conteudo = `<p class='content'>${dataFormatada} -  ${valor}</p>`;

  //Adiciona a li no html
  tarefa.innerHTML = conteudo;

  //Adiciona um filho dentro do elemento pai
  tarefa.appendChild(botaoConclui());
  tarefa.appendChild(botaoRemover());

  return tarefa;
};

const botao = document.querySelector("[data-form-button]");

botao.addEventListener("click", handleNovoItem);
1 resposta

Você precisa da tarefa retornada para aplicar o lista.appendChild(criaTarefa);, você não precisaria do return caso esse appendChild estevesse sendo feito dentro do metodo criarTarefa