Компонент Laravel Livewire не обновляетсяPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Компонент Laravel Livewire не обновляется

Сообщение Anonymous »

Я борюсь с простым компонентом Livewire. Это кнопка, которая добавляет или удаляет идентификаторы из массива (а также из сеанса). После добавления модальное окно должно появиться с разными атрибутами.
Другие компоненты не обновляются при вызове метода переключения, то же самое касается модального окна.
Цикл:
@foreach ($listings as $listing)
{{$listing->title}}

@endforeach


CompareListings.php
namespace App\Livewire;

use App\Models\Listing;
use Livewire\Attributes\Session;
use Livewire\Component;

class CompareListings extends Component {

public Listing $listing;

#[Session]
public array $comparisonList = []; // List of IDs

public function toggleComparison($id): void {

if (!in_array($id, $this->comparisonList)) {
// Add ID
$this->comparisonList[] = $id;
} elseif (($key = array_search($id, $this->comparisonList)) !== false) {
// Remove ID
unset($this->comparisonList[$key]);
// Sort array
$this->comparisonList = array_values($this->comparisonList);
}

}
public function render() {
return view('livewire.compare-listings', [
'listings' => Listing::whereIn('id', $this->comparisonList)->get()
]);
}

}


compare-listings.blade.php



{{ __('Show comparison list') }}



{{ __('Add/Remove comparison list') }}


@php
var_dump($comparisonList);
@endphp

{{-- --}}
@push('modals')

Comparison Table

@endpush


Подробнее здесь: https://stackoverflow.com/questions/793 ... t-updating
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»