изменение фокуса на другое поле с помощью laravel livewire

Можно ли установить фокус на другое поле из laravel livewire без использования кода js.

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

Я пытаюсь получить информацию о продукте, когда пользователь вводит артикул и нажимает клавишу ВВОД. Если он найдет детали, фокус должен перейти на последнее поле. Итак, возможно ли это без использования внешнего JavaScript.

1 ответ

Решение

Для этого вам понадобится мероприятие. испускать событие из вашей функции 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

Другие вопросы по тегам