【问题标题】:Laravel Livewire search button instead of live searchLaravel Livewire 搜索按钮而不是实时搜索
【发布时间】:2020-07-22 12:54:11
【问题描述】:
是否可以在 Laravel Livewire 中使用搜索按钮而不是实时搜索?
我的方法是将 Alpine 与 Livewire 一起使用。
但我没有将搜索词注入 $emit 事件:/
<div x-data="{ search: '' }">
<input type="text" placeholder="Search ..." x-model="search" />
<span x-text="search"></span>
<button wire:click="$emit('test', search )">Search</button>
</div>
【问题讨论】:
标签:
laravel-livewire
alpine.js
【解决方案1】:
好的。 ...很容易^^
只需将$emit('test', search) 更改为window.livewire.emit('test', search)
<div x-data="{ search: '' }">
<input type="text" placeholder="Search ..." x-model="search" />
<span x-text="search"></span>
<button x-on:click="window.livewire.emit('test', search)">Search</button>
</div>
【解决方案2】:
或者,如果您在循环中使用 livewire 组件。上面的window.livewire.emit会调用所有同名的loop livewire组件类。
所以最好的做法是使用
x-on:click="@this.call('functionNameInLivewireComponent', search)"