我想要一个干净的 URL,并且我的表工作正常,直到我更新 Livewire 现在我的表正在添加查询字符串,例如第 2 页中的 ?page=2
所有代码与之前相同,搜索后我已将其添加到 Livewire 控制器中 命名空间 App\Http\Livewire;
use Livewire\Component;
use Livewire\WithPagination;
class ContactsTable extends Component
{
use WithPagination;
protected $paginationTheme = 'bootstrap';
protected $paginationQueryStringEnabled = false;
但它仍然在 URL 中显示查询字符串 我怎样才能禁用它?
谢谢
为了防止默认的
page
查询字符串附加到浏览器,您可以执行以下操作:
public function getQueryString()
{
return array_merge(['page' => ['except' => 1]], $this->queryString);
}
如您所见,默认情况下它将
page
添加到 queryString
属性。
要覆盖此行为,您可以将以下方法添加到组件中:
use Livewire\Component;
use Livewire\WithPagination;
class ContactsTable extends Component
{
use WithPagination;
protected $paginationTheme = 'bootstrap';
public function getQueryString()
{
return [];
}
}
这里我们覆盖了
getQueryString
特征中定义的 WithPagination
方法并将其设置为空数组。