No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Agregar y quitar

17/21
Recursos

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para gener un número a partir de la fecha, solo agreguen .getTime(), ejemplo:

saveMovement(movement) {
      //Generamos el id
      movement.id = new Date().getTime();
      //Agregamos la fecha del movimiento
      movement.time = new Date();
      //Validamos si es ingreso o gasto
      movement.type == "gasto" ? (movement.amount = movement.amount * -1) : "";

      this.$emit("saveMovement", movement);
      this.showModal = false;
    },

Personalmente me gusta mas eliminar elementos de un array como lo hace el profesor Oscar Barajas, les dejo aqui mi metodo remove por si lo quieren probar

remove(id) {
this.movements = this.movements.filter(m => m.id != id);
}

Yo he creado la generación del id de forma autoincremental, es decir el id máximo de los movimientos le sumamos 1 desde el componente padre! El la parte de remover id, lo hice con el método filter. Aquí mi reposiorio.
.
Repositorio commit actual: Click aquí

Personalmente preferi cambiar en el formulario de variables reactivas a un objeto reactivo. Creo que es mas facil y directo para trabajar con los formularios en general, asi no tenemos inicializada una variable por field del form y a su vez luego no tenemos que crear un objeto al hacer submit sino que simplemente mandamos el objeto reactivo en cuestion

<script setup>
import { ref, reactive, defineEmits } from "vue";
import Modal from "@/components/Modal.vue";

const showModal = ref(false);
const emit = defineEmits(["create"]);

const newMovement = reactive({
  title: "",
  description: "",
  amount: "",
  movementType: "Ingreso",
  time: new Date(),
});

const submit = () => {
  showModal.value = false;
  newMovement.amount =
    newMovement.movementType === "Ingreso"
      ? newMovement.amount
      : -newMovement.amount;

  emit("create", newMovement);
};
</script>```
Para que id sea un número y no una fecha pueden usar los métodos del objeto Date para obtener un número a partir de esa fecha así: ```js id: new Date().getMilliseconds(), ```Recordar que esto se pone dentro de Action.vue en la función submit.

Yo tengo problemas al agrearlo, me sale vacio, cuando le hago guardar movimiento 😦