1

Estoy llamando desde un componente a otro componente pero que es un modal, por alguna razon al llamar a la funcion no me esta cargando el modal, ya probe y es aqui en este controlador donde parece estar precisamente el problema:

<?php

namespace App\Http\Livewire\Incidence;

use Livewire\Component;

class CreateIncidence extends Component
{
    public $showModal = 'hidden';

    protected $listeners = [
        'showModal' => 'addModal'
    ];

    public function render()
    {
        return view('livewire.incidence.create-incidence');
    }

    public function addModal() 
    {
        $this->showModal = '';
    }
}

Aqui probe con dejar la variable public $showModal = ''; en vacio para probar y si me esta mostrando el modal, luego le agrego el hidden por defecto y al dar click al boton no hace nada, parece que mas bien no llama a la funcion, o no se ejecutara...

En mi controlador principal que utilizo con la vista donde cargo el boton que llama al modal lo tengo asi:

    public function showModal(Order $order)
    {
        $this->emit('showModal', $order);
    }

Aqui si agrego un dd y doy click al boton, me trae informacion, por tanto descarto que aqui tengo un problema, mas bien creo que puede pasar por el listeners o algo de este controlador o metodo, estaba revisando los metodos emit de livewire y mi codigo se ve correcto hasta donde veo, alguna sugerencia?

1 respuesta 1

1

Problema solucionado, era simplemente llamar fuera del codigo padre al componente.

<div>
 Aqui mi codigo principal de la vista
</div>
 Luego de esto agrego la importacion del componente
    @livewire('incidence.create-incidence')

    <div class="card-body">

¿No es la respuesta que buscas? Examina otras preguntas con la etiqueta o formula tu propia pregunta.