Кнопка поиска Laravel Livewire вместо поиска в реальном времени

Можно ли в 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>

person Lars Schinkel    schedule 09.04.2020    source источник


Ответы (2)


OK. ... это просто ^^

Просто измените $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>
person Lars Schinkel    schedule 12.04.2020

Или если вы используете компонент livewire внутри цикла. указанное выше window.livewire.emit вызовет все классы компонентов livewire цикла с тем же именем функции.

поэтому лучше всего использовать

x-on:click="@this.call('functionNameInLivewireComponent', search)"
person Santosh Khanal    schedule 29.05.2020