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

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

Директива wire:model обеспечивает двустороннюю привязку данных между полем ввода и свойством компонента Livewire. При вводе текста или изменении значения поля автоматически обновляется соответствующее свойство компонента, а при изменении свойства из PHP обновляется значение поля. В значение директивы передаётся имя публичного свойства компонента.

Синтаксис

<input type="text" wire:model="propertyName">

Пример

Давайте создадим поле ввода, привязанное к свойству $text компонента:

<?php namespace AppLivewire; use LivewireComponent; class FormComponent extends Component { public $text = ''; public function render() { return view('livewire.form-component'); } } ?>
<div> <input type="text" wire:model="text"> <p>Введенный текст: {{ $text }}</p> </div>

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

<input type="text" value="abcde"> <p>Введенный текст: abcde</p>

Пример

Рассмотрим пример с числовым свойством $num:

<?php namespace AppLivewire; use LivewireComponent; class CounterComponent extends Component { public $num = 0; public function render() { return view('livewire.counter-component'); } } ?>
<div> <input type="number" wire:model="num"> <p>Значение: {{ $num }}</p> <button wire:click="inc">+1</button> </div>
<?php namespace AppLivewire; use LivewireComponent; class CounterComponent extends Component { public $num = 0; public function inc() { $this->num++; } public function render() { return view('livewire.counter-component'); } } ?>

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

<input type="number" value="5"> <p>Значение: 5</p> <button>+1</button>

Пример

Привяжем свойство $arr к полю ввода с использованием модификатора .defer, который откладывает отправку запроса до момента потери фокуса:

<?php namespace AppLivewire; use LivewireComponent; class ArrayComponent extends Component { public $arr = ['a', 'b', 'c', 'd', 'e']; public function render() { return view('livewire.array-component'); } } ?>
<div> <input type="text" wire:model.defer="arr.0"> <p>Первый элемент: {{ $arr[0] }}</p> </div>

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

<input type="text" value="article"> <p>Первый элемент: article</p>

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

  • класс Form,
    который используется для создания объектов форм
  • метод validate,
    который выполняет валидацию данных формы
  • метод reset,
    который сбрасывает значения свойств формы
  • метод fill,
    который заполняет свойства формы данными
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить