Laravel Livewire 2.x 正在向 URL 添加查询字符串如何禁用它

问题描述 投票:0回答:1

我想要一个干净的 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 中显示查询字符串 我怎样才能禁用它?

谢谢

php laravel laravel-livewire
1个回答
5
投票

为了防止默认的

page
查询字符串附加到浏览器,您可以执行以下操作:

WithPagination.php:

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
方法并将其设置为空数组。

© www.soinside.com 2019 - 2024. All rights reserved.