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

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

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

0
user3765227 18 Апр 2020 в 16:14

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

2
fahim152 19 Апр 2020 в 11:53