У меня раньше было это:
<div wire:loading wire:target="date_range"></div>
где date_range
был определен wire:model
в том же компоненте livewire в элементе select.
Из-за структуры моего приложения я теперь обновляю значение date_range
в элементе select через AlpineJS следующим образом, и это делается вне компонента livewire:
x-model="date_range" x-on:change="window.livewire.emit('dateRangeChanged', date_range)"
Затем я использую прослушиватель событий в моем компоненте Livewire. Все это работает, как ожидалось, но теперь проблема в том, что я хочу показать состояние загрузки элемента, упомянутого ранее, только, когда значение date_range
обновляется через глобальное событие JS. Это возможно?
Единственный хакерский способ, который я мог придумать, - это то, что метод слушателя в компоненте livewire делает что-то вроде $this->date_range_is_loading = true
и устанавливает для него значение false в конце метода рендеринга, но это кажется неправильным.