Я учусь использовать livewire с laravel. Проблема, с которой я сталкиваюсь, заключается в том, что когда я нажимаю кнопку «Удалить», мое всплывающее модальное окно не получает продукт, который я выбрал, вместо этого я получаю последний продукт в своей таблице.
Вот мой Products.php
<?php
namespace Modules\Products\Http\Livewire;
use Modules\Products\Models\Product;
use Livewire\Component;
class Products extends Component
{
public $modal = false;
protected $listeners = [
'productDeleted' => 'deleteModal',
'close' => 'close',
'confirmDelete' => 'delete'
];
public function render()
{
return view('products::livewire.products', [
'products' => Product::all()
]);
}
public function deleteModal($id)
{
$this->modal = true;
}
public function close()
{
$this->modal = false;
}
}
Это мои продукты.blade.php
@foreach($products as $product)
<button wire:click="$emit('productDeleted', {{ $product->id }})" class="bg-red-400 hover:bg-red-300 text-red-800 font-bold py-2 px-4 rounded inline-flex items-center">Delete</button>
@if($modal)
@include('products::livewire.deleteProductModal', ['product' => $product])
@endif
@endforeach
Мой файл deleteProductModal.blade.php
{{ $product->title}}
deleteModal($id)
здесь$id
ты не понял ? - person Kamlesh Paul   schedule 20.10.2020public $isConfrm = false;
и на основе модели показа в onClick - person Kamlesh Paul   schedule 20.10.2020public $modal = false;
- person Nienna   schedule 20.10.2020