Construye un Bucado en Tiempo Real con Livewire: Mejora la Experiencia de Búsqueda

¡Desata el poder de la búsqueda en tiempo real! Descubre cómo crear un buscado dinámico con Livewire. Actualizaciones instantáneas, resultado precisos al instante. ¡No te lo pierdas!

Primer Paso:

El primer paso para construir un buscador en tiempo real con Livewire es crear un campo de entrada donde el usuario pueda ingresar lo que está buscando. Este campo de entrada se conectará al componente de Livewire utilizando la directiva ‘wire:model=”search”’. Es importante que el nombre de la propiedad (`search`) sea el mismo en el componente de Livewire

Asegúrate de que el código esté dentro de un archivo HTML o en la vista de tu aplicación, y de haber importado correctamente las dependencias necesarias de Livewire. Además, recuerda que puedes personalizar las clases y estilos según tus necesidades.

Segundo Paso:

La función ‘render’ en el componente de Livewire se encarga de renderizar la vista donde se encuentra el HTML. Se declara una propiedad pública llamada ‘$search’, la cual se sincroniza en tiempo real con el texto que el cliente introduce en el campo de entrada. Dentro de la función ‘render’, se realiza una búsqueda de los posts filtrando según el input del usuario. Luego, se pasa la variable ‘$posts’ a la vista llamada ‘livewire.article-blog’ utilizando la función ‘view()’ y la función ‘compact()’ para compactar la variable en un array asociativo.

public $search;
public function render()
{
    $posts = Post::where('status', 2)
    ->where('name', 'LIKE', "%{$this->search}%")
    ->latest('id')
    ->paginate(9);

    return view('livewire.article-blog', compact('posts'));
}
                            

Tercer Paso:

Después de obtener los posts filtrados en la función ‘render’, puedes usar un bucle @forelse en la vista para mostrar los resultados de la búsqueda al usuario. La directiva de Blade @forelse te permite iterar sobre la colección de posts y mostrar cada uno de ellos

@forelse ($posts as $post )

@empty

No hay publicaciones que coincidan con esta busqueda

@endforelse