Adquiere este curso para tener acceso a todas las lecciones
Comprar curso35. Eliminar producto
2 comentarios
Inicia sesión para comentar
Comentarios:
-
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 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
-