Usar componentes Livewire

Livewire es un framework para usar en Laravel que tiene multitud de componentes para generar comportamientos dinámicos de Javascript.

Por ejemplo el típico input de que vaya filtrando los registros según lo que vayas escribiendo en un input.

Para añadir las funcionalidades de limeware a AdminLTe, cambiar en config\adminlte.php el valor de false a true:
'livewire' => true
Y así a partir de ese momento podemos crear ya componententes de Livewire desde nuestro terminal, como por ejemplo:
php artisan make:livewire Admin/PostsIndex Te crea:
app\Http\Livewire\Admin\PostsIndex.php
resources\views\livewire\admin\posts-index.blade.php

Para usarlo por ejemplo en una de nuestras views: @section('content')
@livewire('admin.posts-index')
@stop

En app\Http\Livewire\Admin\PostsIndex.php:
use Livewire\WithPagination;
use App\Models\Post;

use WithPagination;
protected $paginationTheme = "bootstrap";
public $search = "";

public function updatingSearch() {
$this->resetPage();
}

public function render()
{
$posts = Post::where('user_id', auth()->user()->id)
->where('name', 'LIKE', '%'.$this->search.'%')
->latest('id')
->paginate(3);

return view('livewire.admin.posts-index', compact('posts'));
}

En resources\views\livewire\admin\posts-index.blade.php:
<div class="card-header">
<input class="form-control" wire:model="search" placeholder="Ingrese el nombre del post">
</div>
...
@foreach ($posts as $post)
...
@endforeach

No hay comentarios:

Publicar un comentario