Я строю административную панель для сайта электронной коммерции с использованием Laravel 10/11, LiveWire 3, JetStream (стек LiveWire) и Daisyui (для стиля). У меня есть компонент Livewire (категорий управления), который отображает странный список категорий в стандартной таблице HTML. Тем не менее, щелкнув ссылки на страницы (например, номера страниц, «Далее», «Предыдущий») ничего не делает - запрос AJAX не отправляется, и данные таблицы не обновляются.
Я следил за стандартной документацией Livewire для страниц и пробовал несколько шагов отладки, но реактивность все еще не работает. /> Livewire 3 Ссылки на страницах видны в браузере. < /li>
Вручное изменение параметра? Загрузится успешно (статус 200 в вкладке сети). < /li>
Запуск livewire.all () в консоли браузера возвращает определение функции ƒ all () {return
bject.values(components); }, а не массив активных компонентов. Этот
указывает, что LiveWire не инициализация компонентов на странице.
namespace App\Livewire\Admin;
use App\Models\Category;
use Livewire\Attributes\Layout;
use Livewire\Component;
use Livewire\WithPagination;
class CategoryManagement extends Component
{
use WithPagination;
protected string $paginationTheme = 'tailwind';
#[Layout('layouts.admin')]
public function render()
{
$cat = $query->paginate(10);
return view(
'livewire.admin.category-management',
compact('cat')
);
}
}
resources/views/livewire/admin/category-management.blade.php: {{-- Root element --}}
{{-- ... other HTML for header, form ... --}}
{{-- ... table headers ... --}}
@foreach ($cat as $row)
{{-- ... table rows with data and action buttons ... --}}
@endforeach
@if($cat->isEmpty())
{{-- ... empty state row ... --}}
@endif
{{-- Pagination Links --}}
{{ $cat->links('vendor.livewire.custom-daisyui') }} {{-- Using custom view --}}
{{-- ... other HTML ... --}}
< /code>
{{-@livewirescripts находится в Mayouts /admin.blade.php-}} < /p>
> resources/views/vendor/livewire/custom-daisyui.blade.php:
@if ($paginator->hasPages())
{{-- Previous Page Button --}}
@if ($paginator->onFirstPage())
{!! __('pagination.previous') !!}
@else
{!! __('pagination.previous') !!}
@endif
{{-- Pagination Links --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
{{ $element }}
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
{{ $page }} {{-- Active button style --}}
@else
{{ $page }}
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Button --}}
@if ($paginator->hasMorePages())
{!! __('pagination.next') !!}
@else
{!! __('pagination.next') !!}
@endif
@endif
resources/views/layouts/admin.blade.php (Relevant part):
{{-- ... head content ... --}}
@vite(['resources/css/app.css', 'resources/js/app.js'])
@livewireStyles
{{-- ... body content ... --}}
@livewireScripts
Подробнее здесь: https://stackoverflow.com/questions/796 ... t-reactive