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

Laravel Livewire 2.x is adding query string to URL how to disable it

我想要干净 URL 并且我的 table 工作正常,直到我更新 Livewire 现在我的 table 正在添加查询字符串,例如来自第 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 查询字符串附加到浏览器,您可以执行以下操作:

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 [];
    }
}

这里我们覆盖WithPagination trait中定义的getQueryString方法,并将其设置为一个空数组。