РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
18 of 274 menu

Директива wire:keydown

Директива wire:keydown вешается на HTML-элемент и вызывает указанный публичный метод компонента при возникновении события нажатия клавиши на этом элементе. В значении директивы передается имя метода. После вызова метода Livewire автоматически обновляет шаблон компонента. Директива поддерживает модификаторы для фильтрации конкретных клавиш, таких как .enter, .escape, .tab и другие.

Синтаксис

<input wire:keydown="methodName">

Можно указать модификатор для конкретной клавиши:

<input wire:keydown.enter="methodName">

Также можно передать параметры в метод:

<input wire:keydown.enter="methodName('param')">

Пример

Давайте увеличим число $num при нажатии клавиши Enter в поле ввода:

<?php namespace App\Livewire; use Livewire\Component; class Counter extends Component { public $num = 0; public function inc() { $this->num++; } public function render() { return view('livewire.counter'); } } ?>
<div> <input type="text" wire:keydown.enter="inc"> <p>Number: {{ $num }}</p> </div>

Результат выполнения кода:

<div> <input type="text"> <p>Number: 1</p> </div>

Пример

Передадим в метод параметр - шаг увеличения числа:

<?php namespace App\Livewire; use Livewire\Component; class Counter extends Component { public $num = 0; public function inc($step) { $this->num += $step; } public function render() { return view('livewire.counter'); } } ?>
<div> <input type="text" wire:keydown.enter="inc(5)"> <p>Number: {{ $num }}</p> </div>

Результат выполнения кода:

<div> <input type="text"> <p>Number: 5</p> </div>

Пример

Обработаем нажатие клавиши Escape для очистки значения свойства:

<?php namespace App\Livewire; use Livewire\Component; class Search extends Component { public $query = ''; public function clear() { $this->query = ''; } public function render() { return view('livewire.search'); } } ?>
<div> <input type="text" wire:model="query" wire:keydown.escape="clear"> <p>Current query: {{ $query }}</p> </div>

Результат выполнения кода:

<div> <input type="text"> <p>Current query: </p> </div>

Смотрите также

  • директиву wire:keydown.enter,
    которая реагирует только на нажатие клавиши Enter
  • директиву wire:keydown.escape,
    которая реагирует на нажатие клавиши Escape
  • директиву wire:keyup,
    которая вызывает метод при отпускании клавиши
  • директиву wire:change,
    которая вызывает метод при изменении значения поля
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить