我以前有这个:
<div wire:loading wire:target="date_range"></div>
where是在 select 元素上的同一个 livewire 组件date_range
中定义的。wire:model
由于我的应用程序结构,我现在date_range
像这样通过 AlpineJS 更新选择元素上的值,这是在 livewire 组件之外完成的:
x-model="date_range" x-on:change="window.livewire.emit('dateRangeChanged', date_range)"
然后我在我的 Livewire 组件中使用一个事件监听器。这一切都按预期工作,但现在的问题是我想显示之前提到的元素的加载状态,只有在date_range
通过全局 JS 事件更新值时。这可能吗?
我能想出的唯一 hacky 方法是 livewire 组件中的 listener 方法做了类似的事情,$this->date_range_is_loading = true
并在 render 方法的末尾将其设置为 false,但这感觉不对。