Eliminar producto
Comprar curso

35. Eliminar producto


2 comentarios

Inicia sesión para comentar

Comentarios:

  • Edmer

    Edmer hace 7 meses

    Estimado profesor, me sucede lo siquiente (estoy usando livewire 3).

    Si elimino items de arriba hacia abajo: Elimina el 1er item con normalidad, pero los siquientes ya no funciona.

    En consola arroja este error al eliminar 1er item.

    Si el orden en que se elimina es de abajo hacia arriba, funciona con normalidad.

    • Victor Arana Flores hace 7 meses

      Hola Edmer, trata de agregar una key a cada uno de los elementos.

      Sucede que a veces Livewire no puede hacer un correcto seguimiento a los elementos, cuando se coloca en un bucle. Puedes solucionarlo si haces algo asi

      <li wire:key="product-{{$product->id}}">...</li>

      De esta manera Livewire sabe exactamente que li es el que se ha eliminado y cuales estan quedando.

    • Edmer hace 7 meses

      Gracias profesor, si para alguno es útil, me funcionó con esta linea:

      <tr wire:key="ItemCart-{{$item->rowId}}">

  • Angel David Velasco Bonifaz

    Angel David Velasco Bonifaz hace 1 año

    Profe Victor me puede apoyar, no se ejecuta la funcion. Y me marca un error en consola al far click, al boton eliminar.

    Este es mi codigo de boton

    <div class="flex">

                                        <button type="button"

                                            class="font-medium text-indigo-600 hover:text-indigo-500" wire:click="delete({{$item->rowId}})">Eliminar</button>

                                    </div>

     

    y este es el DropdownCArt, ya que quiero eliminar desde el DropdownCart

     

        public function delete($rowId){

            Cart::remove($rowId);

            $this->emitTo('dropdown-cart', 'render');

            $this->emitTo('shopping-cart', 'render');

        }

     

    Pero me marca este error.

    VM288:8 Uncaught SyntaxError: Invalid or unexpected token
       at new Function (<anonymous>)
       at Directive.value (wire-directives.js:93:24)
       at Directive.get (wire-directives.js:58:33)
       at node_initializer.js:209:42
       at Component.value (index.js:582:9)
       at HTMLButtonElement.<anonymous> (node_initializer.js:201:23)

    • Angel David Velasco Bonifaz hace 1 año

      Ya encontre la solucion, solo le puse unas comillas, no se cual sea el motivo.

      wire:click="delete('{{$item->rowId}}')"  con las comillas simples ya funciona.

    • Victor Arana Flores hace 1 año

      Así es, tienes que ponerle comillas ya que $item->rowId te devuelve una cadena