如何解决Livewire 侦听来自组件类的每个响应
我正在构建一个组件,我在下拉列表中使用 Select2。这是我的观点:
<div x-data="{ }" x-init="() => {
$('.select2').select2();
$('.select2').change(e => {
$wire.set('name',e.target.value);
Livewire.hook('message.processed',(m,component) => {
$('.select2').select2();
})
})
}" class="row mt-5">
<form wire:submit.prevent="send">
<div class="col-12">
<p><strong>{{ $name }}</strong></p>
<br />
<select wire:model="name" class="form-control select2">
<option value="">-----select-----</option>
@foreach($names as $name)
<option value="{{ $name }}">{{ $name }}</option>
@endforeach
</select>
@error('name') <span class="error">{{ $message }}</span> @enderror
</div>
<div class="mt-4 col-12">
<button type="submit" class="btn btn-success">
Submit
</button>
</div>
</form>
在我的 alpine 代码中,我使用“message.processed”钩子来重新应用 Select2 功能,否则组件重新渲染会搞砸。现在有一种情况,如果在页面加载时首先提交表单并且组件类响应带有验证错误,在这种情况下这个钩子永远不会发生,我失去了 Select2 功能。我可以在我的 javascript 方面做些什么来听取来自组件类的每个响应以重新应用我在文档中找不到的 select2。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。