1

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

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

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

4

1 回答 1

2

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

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

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

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

</script>
@endpush

于 2020-04-18T14:49:33.220 回答