gpt4 book ai didi

php - Laravel LiveWire 分页问题

转载 作者:行者123 更新时间:2023-12-01 23:33:34 25 4
gpt4 key购买 nike

我是 LiveWire 的新手,正在尝试使用 Laravel、jetstream 和 livewire 构建简单的应用程序

我的应用程序从数据库中获取数据并显示在带有分页的表格中。一切正常,但问题是当我点击任何页面时,我得到了 URI '?page=2'

我不想在 Url 中看到这个 URI我的 Blade 也很简单,如下所示

<x-app-layout>
<x-slot name="header">
</x-slot>
<div class="py-2">
<div class="mx-auto sm:px-2 lg:px-2">
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg">
<div class="flex flex-wrap">
<livewire:item />
</div>
</div>
</div>
</div>
</x-app-layout>

和 livewire:item

<table class="table-auto w-full">
<thead>
<tr>
<th class="px-4 py-2">
<div class="flex items-center">
<button>Image</button>
</div>
</th>
<th class="px-4 py-2">
<div class="flex items-center">
<button wire:click="sortBy('sku')">SKU</button>
<x-sort-icon sortField="sku" :sort-by="$sortBy" :sort-asc="$sortAsc" />
</div>
</th>
<th class="px-4 py-2">
<div class="flex items-center">
<button wire:click="sortBy('title')">Title</button>
<x-sort-icon sortField="title" :sort-by="$sortBy" :sort-asc="$sortAsc" />
</div>
</th>
<th class="px-4 py-2">
<div class="flex items-center">
<button wire:click="sortBy('avg_pprice')">Price</button>
<x-sort-icon sortField="avg_pprice" :sort-by="$sortBy" :sort-asc="$sortAsc" />
</div>
</th>
<th class="px-4 py-2">
<div class="flex items-center">
<button wire:click="sortBy('stock')">Stock</button>
<x-sort-icon sortField="stock" :sort-by="$sortBy" :sort-asc="$sortAsc" />
</div>
</th>
<th class="px-4 py-2">
<div class="flex items-center">
<button wire:click="sortBy('selling_price')">Sale Price</button>
<x-sort-icon sortField="selling_price" :sort-by="$sortBy" :sort-asc="$sortAsc" />
</div>
</th>

<th class="px-4 py-2">
Actions
</th>
</tr>
</thead>
<tbody>
@foreach($items as $item)
<tr>
<td class="border px-4 py-2"><img class="w-20" src='{{ $item->image}}'></td>
<td class="border px-4 py-2">{{ $item->title}}</td>
<td class="border px-4 py-2">{{ number_format($item->price, 2)}}</td>
</tr>
@endforeach
</tbody>
</table>

<div class="mt-4">
{{ $items->links() }}
</div>

还有火线 Controller

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use App\Models\item;
use Livewire\WithPagination;

class Items extends Component
{
use WithPagination;

public $perPage = 10;


public function render()
{
$items = Item::all();

$items = $items->paginate($this->perPage);

return view('livewire.items', [
'items' => $items,
]);

}
}

最佳答案

感谢@Remul,效果如下

use Livewire\Component;
use Livewire\WithPagination;

class ContactsTable extends Component
{
use WithPagination;

protected $paginationTheme = 'bootstrap';

public function getQueryString()
{
return [];
}
}

关于php - Laravel LiveWire 分页问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65925996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com