有点棘手,我有一个带有多个选项卡的 Livewire 组件,每个选项卡都包含一个子组件,其中一个子组件添加了查询参数。
也许有人知道如何在选项卡更改时从子组件中删除这些查询参数之一?
这可以通过事件来完成。
假设选项卡更改事件是javascript,那么你就会做这样的事情
@script
<script>
$wire.dispatch('clearQuery');
</script>
@endscript
如果在 Livewire 组件内完成(选项卡更改),则添加如下事件
public function tabChangeFunction()
{
// function stuff
$this->dispatch('clearQuery');
}
现在您需要监听要从中清除查询的组件
//include the attribute (assuming livewire 3)
use Livewire\Attributes\On;
// this is in the livewire class as a function
#[On('clearQuery')]
public function clearQuery()
{
$this->query = null;
// or something like this ^
}
完整文档可以在这里找到Laravel Livewire 3 Events