Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erros no Tarefas.vue (views)

Na última parte do curso, as alterações feitas no Tarefas.vue, da pasta Views, causaram vários erros na minha aplicação. Vou colocar abaixo o print dos erros e o código

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

<template>
    <Formulario @aoSalvarTarefa="salvarTarefa" />
    <div class="lista">
      <Box v-if="semTarefas">
        Você não está muito produtivo hoje
        <span class="has-text-weight-bold">:(</span>
      </Box>
      <div class="field">
    <p class="control has-icons-left">
      <input class="input" type="text" placeholder="Digite para filtrar" v-model="filtro">
      <span class="icon is-small is-left">
        <i class="fas fa-search"></i>
      </span>
    </p>
  </div>
      <Tarefa v-for="(tarefa, index) in tarefas" :tarefa="tarefa" :key="index" @aoTarefaClicada="selecionarTarefa" />
    <Modal :mostrar="tarefaSelecionada != null" >
      <template v-slot: cabecalho>
              <p class="modal-card-title">Editando uma tarefa</p>
              <button @click="fecharModal" class="delete" aria-label="close"></button>
      </template>
            <template v-slot: corpo>
              <div class="field">
                <label for="descricaoDaTarefa" class="label">
                  Descrição
                </label>
                <input type="text" class="input" v-model="tarefaSelecionada.descricao" id="descricaoDaTarefa" />
              </div>
            </template>
            <template v-slot: rodape>
              <button @click="alterarTarefa" class="button is-success">Salvar alterações</button>
              <button @click="fecharModal" class="button">Cancelar</button>
            </template>
    </Modal>
  </div>
</template>

<script lang="ts">
import { computed, defineComponent, ref, watchEffect } from "vue";
import Formulario from "../components/Formulario.vue";
import Tarefa from "../components/Tarefa.vue";
import Box from "../components/Box.vue";
import Modal from "../components/Modal.vue";
import { useStore } from "@/store";
import {
  ALTERAR_TAREFA,
  CADASTRAR_TAREFA,
  OBTER_PROJETOS,
  OBTER_TAREFAS,
} from "@/store/tipo-acoes";
import ITarefa from "@/interfaces/ITarefa";

export default defineComponent({
  name: "App",
  components: {
    Formulario,
    Tarefa,
    Box,
  },
  data() {
    return {
      tarefaSelecionada: null as ITarefa | null,
    };
  },
  methods: {
    salvarTarefa(tarefa: ITarefa): void {
      this.store.dispatch(CADASTRAR_TAREFA, tarefa);
    },
    selecionarTarefa(tarefa: ITarefa) {
      this.tarefaSelecionada = tarefa;
    },
    fecharModal() {
      this.tarefaSelecionada = null;
    },
    alterarTarefa () {
      this.store.dispatch(ALTERAR_TAREFA, this.tarefaSelecionada)
        .then(() => this.fecharModal())
    }
  },
  computed: {
    semTarefas(): boolean {
      return this.tarefas.length == 0;
    },
  },
  setup() {
    const store = useStore();
    store.dispatch(OBTER_TAREFAS);
    store.dispatch(OBTER_PROJETOS);

    const filtro = ref('')

  //   const tarefas = computed(() =>
  //     store.state.tarefa.tarefas.filter(
  //     (t) => !filtro.value || t.descricao.includes(filtro.value)
  //   )
  // );

  watchEffect(() => {
    store.dispatch(OBTER_TAREFAS, filtro.value)
  });

    return {
      tarefas: computed(() => store.state.tarefa.tarefas),
      store,
      filtro
    };
  },
});
</script>
2 respostas

Olhando o fórum, consegui acertar estes erros, porém surgiu outro que esta impedindo da aplicação rodar

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

solucionei excluindo o node_modules e dando o npm i novamente