使用 laravel livewire 将焦点转移到另一个字段

changing focus to another field using laravel livewire

是否可以在不使用任何 js 代码的情况下从 laravel livewire 将焦点设置到另一个字段。

input wire:model="sku" wire:keydown.enter="getProductInfo" type="text">

我正在尝试在用户输入 sku 并按回车键时获取产品信息。如果找到详细信息,则焦点必须转到最后一个字段。那么,是否可以不使用任何外部JavaScript。

你需要一个事件来实现它。从您的 getProductInfo 函数发出一个事件。像这样:

$this->emit('change-focus-other-field') //any unique event name you want

然后在您的 livewire 组件中捕获此事件 blade。做任何你想做的事。 (特别是在你的情况下。通过 jQuery 关注该领域。我假设你已经在你的项目中导入了 jQuery)

@push('scripts')
<script>
   window.livewire.on('change-focus-other-field', function () {
        $("#field-you-want-to-focus").focus();
    });

</script>
@endpush