РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplwPmCmIR 12 of 76 menu
◀ ▶

Удаление элемента из списка в Livewire

Заголовки постов уже можно дописывать, но убрать лишний со страницы нельзя. У каждой строки нужна своя кнопка, и метод должен понимать, какую именно строку стирать.

Для этого в цикл передают индекс элемента и отправляют его в метод аргументом. Метод удаляет элемент с этим индексом. После unset в массиве остаётся дырка в номерах, поэтому список сразу собирают заново через array_values.

Давайте соберём PostList с методами add и remove:

<?php namespace App\Livewire; use Livewire\Component; class PostList extends Component { public $titles = ['News', 'Photo']; public function add() { $this->titles[] = 'post ' . (count($this->titles) + 1); } public function remove($index) { unset($this->titles[$index]); $this->titles = array_values($this->titles); } public function render() { return view('livewire.post-list'); } } ?>

В цикле нужен индекс каждого заголовка. Давайте добавим у пункта кнопку с передачей индекса в метод:

<div> <ul> @foreach ($titles as $index => $title) <li> {{ $title }} <button type="button" wire:click="remove({{ $index }})"> Delete </button> </li> @endforeach </ul> <button type="button" wire:click="add"> Add </button> </div>

Сделайте у каждого работника в списке кнопку удаления.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить